python3 爬虫相关学习7:初步摸索使用 BeautifulSoup

news2024/11/23 4:25:41

1 一个爬图片pic的代码的例子

  • 下面这段是爬一些图片pic的代码
  • 学写了一段bs的代码,但是马上报错

#E:\work\FangCloudV2\personal_space\2learn\python3\py0001.txt


import requests
from bs4 import BeautifulSoup

url="https://movie.douban.com/celebrity/1011562/photos/"
res=requests.get(url)
content= BeautifulSoup(res.text, "html.parser")
data=content.find_all("div",attrs={'class':'cover'})
picture_list=[]

for d in data:
    plist=d.find("img")["src"]
    picture_list.append(plist)
print (picture_list)

null刘涛最新图片https://movie.douban.com/celebrity/1011562/photos/

 

2  直接在cmd里 python运行报错

2.1 运行报错

  • 运行cmd
  • python 文件 报错
  • 报错内容:  ModuleNotFoundError: No module named 'bs4'

 

2.2 报错原因

  • 这个报错的原因,是因为在默认的python目录下并没有安装 bs4 (BeautifulSoup)这个模块,当然会报错
  • 那如果是以下情况,就不会遇到这个报错
  1. 如果是,先在默认python下安装了 bs4 ,就不会遇到这种报错
  2. 如果是我直接使用 anaconda环境下的 cmd 或者 spygt ,pythoncharm

2.3 查询pc里 python相关的所有安装内容

  • 接下来的问题就是
  • (因为使用的电脑环境并不一定是自己安装的环境,也可能很久后忘记了)
  • 我是否可以在安装前知道,已经安装了 bs4?
  • 同样,我想知道是否已经安装过 pip ,requeset 等其他模块
  • 这些模块装在哪儿呢?

2.3.1 查看所有python版本的命令

  • py -0p
  • 可以查看电脑中所有的 python版本
  • 其中* 号是默认的版本
  • 我这里显示1个是默认的,一个 anaconda里的

2.3.2 pip list 列表显示

  • pip list
  • pip list --format=columns
  • 可以查看pip下的各种模块
  • 而这个pip list 显示的各个模块,实际对应硬盘上的哪个路径呢?
  • Python311\site-packages
  • \Python37_64\Lib\site-packages\pip\_vendor
  • C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\Lib\site-packages\pip\_vendor

 

 

  • \Python37_64\Lib\site-packages\pip\_vendor

 

2.3.3 pip show 模块 命令

  • pip show pip
  • pip show requests
  • 显示详细信息: name ,  version ,安装位置等
  • 如果是没有安装的模块,就会找不到
  • 比如这里的 bs4

 

2.3.4 pip 的其他常用命令

  • pip  --help     # 可以查看帮助,全部命令
  • pip --version
  • pip list 
  • pip list -0
  • pip show XXX模块
  • pip install
  • pip install --upgrade XXX
  • pip uninstall
  • pip search XXX

 

Commands:

  •   install                     Install packages.
  •   download                    Download packages.
  •   uninstall                   Uninstall packages.
  •   freeze                      Output installed packages in requirements format.
  •   inspect                     Inspect the python environment.
  •   list                        List installed packages.
  •   show                        Show information about installed packages.
  •   check                       Verify installed packages have compatible dependencies.
  •   config                      Manage local and global configuration.
  •   search                      Search PyPI for packages.
  •   cache                       Inspect and manage pip's wheel cache.
  •   index                       Inspect information available from package indexes.
  •   wheel                       Build wheels from your requirements.
  •   hash                        Compute hashes of package archives.
  •   completion                  A helper command used for command completion.
  •   debug                       Show information useful for debugging.
  •   help                        Show help for commands.

General Options:

  •   -h, --help                  Show help.
  •   --debug                     Let unhandled exceptions propagate outside the main subroutine, instead of logging them
  •                               to stderr.
  •   --isolated                  Run pip in an isolated mode, ignoring environment variables and user configuration.
  •   --require-virtualenv        Allow pip to only run in a virtual environment; exit with an error otherwise.
  •   --python <python>           Run pip with the specified Python interpreter.
  •   -v, --verbose               Give more output. Option is additive, and can be used up to 3 times.
  •   -V, --version               Show version and exit.
  •   -q, --quiet                 Give less output. Option is additive, and can be used up to 3 times (corresponding to
  •                               WARNING, ERROR, and CRITICAL logging levels).
  •   --log <path>                Path to a verbose appending log.
  •   --no-input                  Disable prompting for input.
  •   --keyring-provider <keyring_provider>
  •                               Enable the credential lookup via the keyring library if user input is allowed. Specify
  •                               which mechanism to use [disabled, import, subprocess]. (default: disabled)
  •   --proxy <proxy>             Specify a proxy in the form scheme://[user:passwd@]proxy.server:port.
  •   --retries <retries>         Maximum number of retries each connection should attempt (default 5 times).
  •   --timeout <sec>             Set the socket timeout (default 15 seconds).
  •   --exists-action <action>    Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup,
  •                               (a)bort.
  •   --trusted-host <hostname>   Mark this host or host:port pair as trusted, even though it does not have valid or any
  •                               HTTPS.
  •   --cert <path>               Path to PEM-encoded CA certificate bundle. If provided, overrides the default. See 'SSL
  •                               Certificate Verification' in pip documentation for more information.
  •   --client-cert <path>        Path to SSL client certificate, a single file containing the private key and the
  •                               certificate in PEM format.
  •   --cache-dir <dir>           Store the cache data in <dir>.
  •   --no-cache-dir              Disable the cache.
  •   --disable-pip-version-check
  •                               Don't periodically check PyPI to determine whether a new version of pip is available for
  •                               download. Implied with --no-index.
  •   --no-color                  Suppress colored output.
  •   --no-python-version-warning
  •                               Silence deprecation warnings for upcoming unsupported Pythons.
  •   --use-feature <feature>     Enable new functionality, that may be backward incompatible.
  •   --use-deprecated <feature>  Enable deprecated functionality, that will be removed in the future.

2.3.5 不太好用的命令

  • python -m site
  • 显示的是 py3.7这一层目录的文件夹目录位置!!
  • C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64
  • 而不是pip 下安装模块的文件夹目录位置!!
  • C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\Lib\site-packages\pip\_vendor

 

 

2.3.6  安装好 bs4后,问题可以解决

3 我选择在anaconda下 使用 bs4 (BeautifulSoup)

  • 我没有继续在python 默认路径下安装bs4
  • 而是选择在 anaconda下,运行cmd,
  • 这里是已经安装了 bs4的

 

  • 注意这里是在 anaconda下启动的 cmd

 

3.1 又遇到报错1

  • ImportError: cannot import name 'beautifulsoup' from 'bs4' (e:\ProgramData\anaconda3\lib\site-packages\bs4\__init__.py)

 

  • from bs4 import beautifulsoup 错误导致
  • 修改首字母大写即可解决这个问题
  • from bs4 import BeautifulSoup 

 

3.2 没有报错,但是也可以爬成功

  • 怀疑是没有加headers 被拒绝了。。。
  • 只返还了一个空列表 

其他内容补充(暂时放这)

1

检查

按F12

看的内容不一样

检查

空白处点检查

选中某一个元素如图片,点击检查可以定位到当前图片的 标记位置

2

有两种解析内容

Beautiful soup

基本按着html结构解析,head  body  div p  a  li 等等

也可以选择按xml解析

Xpath就是按照xml解析

Node

Div等

3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/617333.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搭建个人博客

个人网站用处有很多&#xff0c;可以写博客来记录学习过程中的各种事&#xff0c;不管是新知识还是踩坑记录&#xff0c;写完就丢在网站上&#xff0c;方便日后复习&#xff0c;也可以共享给他人&#xff0c;让其他人避免踩雷。 当然也不仅限于技术性的文章&#xff0c;生活中有…

隐马尔可夫模型在数学建模中的应用及MATLAB实现

2023年9月数学建模国赛期间提供ABCDE题思路加Matlab代码,专栏链接(赛前一个月恢复源码199,欢迎大家订阅):http://t.csdn.cn/Um9Zd 目录 2023年9月数学建模国赛期间提供ABCDE题思路加Matlab代码,专栏链接(赛前一个月恢复源码199,欢迎大家订阅):http://t.csdn.cn/Um9Zd 隐马尔可…

(二)CSharp-数据类型

一、数据类型 1、C#程序是一组类型声明 C 程序是一组函数和数据类型C 程序是一组函数和类C# 程序是一组类型声明 2、类型是一种模板 类型由下面的元素定义&#xff1a; 名称用于保存数据成员的数据结构一些行为及约束条件 3、实例化类型 从某个类型模板创建实际的对象&am…

完败!资深码农 VS 新手+AI;阿里云AI黑客松千万奖金池;手把手教你用AI写小说;微软AI入门课 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 阿里云首届AI黑客马拉松&#xff0c;共享 1000 万美元风投资金池 阿里云官方宣布&#xff0c;将以国内最大AI模型社区「Model Scope 魔…

基于双视角图表示算法的双向人职匹配偏好建模推荐系统构建

基于双视角图表示算法的双向人职匹配偏好建模推荐系统构建 文章目录 基于双视角图表示算法的双向人职匹配偏好建模推荐系统构建1. 传统推荐系统模型2. 协同过滤算法3. 基于双视角图表示学习算法的模型构建3.1 数据输入3.2 双视角交互图的构建3.3 混合偏好传播策略3.4 对于双向意…

H5项目怎么打包成APP

文章目录 前言一、新建5APP项目二、删除不需要的文件三、将H5打包的文件拷贝到当前目录下四、配置APP五、发行-云打包六、安装apk总结 前言 开发uni-app的编辑器HBuilderX可以将H5项目打包成APP&#xff0c;相信很多小伙伴还不知道这个功能&#xff0c;下面将介绍下如何将H5打…

linux MMU内存管理单元

本篇文章简要阐述MMU的概念&#xff0c;以及以段地址的转换过程为例&#xff0c;简单说明MMU将虚拟地址转换成物理地址的过程。更多详细内容请查看《ARM-MMU(中文手册).pdf》。 1、MMU概述 在ARM存储系统中&#xff0c;使用MMU实现虚拟地址到实际物理地址的映射。为何要实现这…

人工智能学习07--pytorch21--目标检测:YOLO系列理论合集(YOLOv1~v3)

如果直接看yolov3论文的话&#xff0c;会发现有好多知识点没见过&#xff0c;所以跟着视频从头学一下。 学习up主霹雳吧啦Wz大佬的学习方法&#xff1a; 想学某个网络的代码时&#xff1a;到网上搜这个网络的讲解 → 对这个网络大概有了印象 → 读论文原文&#xff08; 很多细…

Django实现接口自动化平台(五)httprunner(4.x)介绍【持续更新中】

上一章&#xff1a; Django实现接口自动化平台&#xff08;四&#xff09;解决跨域问题【持续更新中】_做测试的喵酱的博客-CSDN博客 下一章&#xff1a; 一、httpruner介绍 1.1 背景&#xff1a; 之所以学习httpruner的用法&#xff0c;是要把httpruner嵌入我们的自动化平…

全网最全、最新MyBatis框架核心知识

MyBatis框架 1. 软件开发常用结构 MyBatis是操作数据库的&#xff0c;相当于是一个增强的JDBC 1.1 三层架构 三层架构包括&#xff1a; 界面层&#xff08;User Interface layer&#xff09;业务逻辑层&#xff08;Business Logic Layer&#xff09;数据访问层&#xff08;Dat…

Window搭建IOS App自动化测试环境

平台搭建&#xff1a;tidevice&#xff08;Windows逆向通信iOS工具&#xff09;WebDriverAgent&#xff08;iOS通信服务&#xff09;facebook-wda&#xff08;iOS测试框架&#xff09; macOSXcode&#xff1a;在手机上安装WebDriverAgent的时候需要用到&#xff0c;必须要Xcod…

HDFS概述及其优缺点

什么是HDFS&#xff1f; HDFS的全称是hadoop distributed file system&#xff0c;即hadoop的分布式文件系统。 见名知意&#xff0c;它就是用来进行文件存储的。毕竟它是大数据的一个组件&#xff0c;用来存储这种海量的数据。 它是基于03年10月份&#xff0c;谷歌发表的GFS…

Hadoop 怎么委任和解除节点?

前言 本文隶属于专栏《大数据技术体系》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见大数据技术体系 正文 Hadoop 集群的管理员经常需要向集群中添加节点…

Android Studio引用第三方库的方式

title: 大小端详解 date: 2023-06-06 21:01:24 comments: true #是否可评论 toc: true #是否显示文章目录 categories: #分类 - gradle - android studio tags: #标签 - gradle - android studio summary: android stduio 导入第三方库方式 Android Studio引用第三方库的方式 …

NCUTer 我的创作纪念日(2023-06-06)

前言 大家好&#xff0c;我是NCUTer&#xff0c;今天收到私信&#xff0c;突然发现&#xff0c;我来到CSDN已经2年多了&#xff0c;距离发布第一篇博客已经2年整了。正式规划性的写博客&#xff0c;是在2021年6月底开始的&#xff0c;当时啥也不懂&#xff0c;不知道该怎么去做…

10万字XX市开发区智慧综治中心平台建设一期工程招标文件word

&#xff08;一&#xff09;智慧综治中心信息化平台 需基于“一个平台&#xff0c;多级用户”的原则&#xff0c;利用移动互联网、物联网、大数据、人工智能和地理信息等新一代信息技术&#xff0c;整合辖区多方社会治理数据&#xff0c;建立一个覆盖全区三级综治中心用户的统一…

2个原因解答:为什么网络安全缺口大,招聘却很少?

2023年我国网络空间安全人才数量缺口超过了140万&#xff0c;就业人数却只有10多万&#xff0c;缺口高达了93%。这里就有人会问了&#xff1a; 1、网络安全行业为什么这么缺人&#xff1f; 2、明明人才那么稀缺&#xff0c;为什么招聘时招安全的人员却没有那么多呢&#xff1f;…

【博客639】Life of a label in prometheus

prometheus中label的生命周期 前言 Prometheus labels allow you to model your application deployment in the manner best suited to your organisation. As directly supporting every potential configurations would be impossible, we offer relabelling to give you t…

Paxos算法

组成 Paxos算法有proposer, accepter, leaner三种角色节点&#xff0c;其中proposer有点像客户端&#xff0c;而accepter是存储节点。 持久化需要 basic-Paxos是二阶段进行的 第一阶段 propose发起prepare请求&#xff0c;带上rnd accpeter如果发现rnd&#xff0c;比如自己…

图论在数学建模中的应用及MATLAB实现

2023年9月数学建模国赛期间提供ABCDE题思路加Matlab代码,专栏链接(赛前一个月恢复源码199,欢迎大家订阅):http://t.csdn.cn/Um9Zd 目录 图论基本概念 图论原理 1. 最短路径问题 2. 最小生成树问题 MATLAB实现 1. 创建图 2. 最短路径算法 3. 最小生成树算法 数学建模案…