python爬虫常用模块

折月煮酒 提交于 2019-11-29 14:41:39

对于一些简单的爬虫,python(基于python3)有更好的第三方库来实现它,且容易上手。

Python标准库–logging模块
logging模块能够代替print函数的功能,将标准输出到日志文件保存起来,利用loggin模块可以部分替代debug
re模块
正则表达式
sys模块
系统相关模块

sys.argv(返回一个列表,包含所有的命令行)
sys.exit(退出程序)

Python标准库–urllib模块

urllib.requset.urlioen可以打开HTTP(主要)、HTTPS、FTP、协议的URL

ca 身份验证
data 以post方式提交URL时使用
url 提交网络地址(全程 前端需协议名 后端需端口 http:/192.168.1.1:80)
timeout 超时时间设置
函数返回对象有三个额外的方法

geturl() 返回response的url信息 常用与url重定向
info()返回response的基本信息
getcode()返回response的状态代码

1,request

urllib.request最常见的用法是直接使用urllib.request.urlopen()来发起请求,但通常这样是不规范的

一个完整的请求还应该包括headers这样的信息传递,可以这样实

 

 

 

通常防止爬虫被检测,我们需要规定headers,伪造爬虫头部信息,但此方法一般用途不大。

2,BeautifulSoup

beautifulsoup的功能很强大,利用它我们可以实现网页的轻松解析,省掉写很多正则表达式的麻烦。

它拥有几个强大的解析库,包括 内置的html解析器,lxml,html5lib。

一般默认的是html解析器 html.parser

最好的大概是lxml了

用法:

 

 

 

展现beautifulsoup强大的标签选择功能

获取某个html标签的属性:
print(soup.p['name'])

获取某个标签的内容:

print(soup.p.string)

 

获取某个标签内的所有内容,存入列表中

plist=soup.p.contents

获取某个标签内的所有内容,存入列表中

plist=soup.p.contents

 

find_all()标签选择器

例如我们要找到id=content 的div标签的内容

 

 

 

 成功爬取

 

 

 

 

————————————————
版权声明:本文为CSDN博主「金牛校长」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wszsdsd/article/details/79496152

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!