更多课程 选择中心


Python培训

400-996-5531

Python3爬虫知识详解


1概述

爬虫在Python中是个实现起来比较简单,关键在于网页的分析和内容的抓取。最近由于个人需要写了些内容,这里总结下爬虫相关的内容。

本文爬虫相关实现没有使用scrapy框架,通过urllib请求、bs4来实现。

2网络请求

网络请求部分用到urllib模块中的request类,如果需要控制 请求头或带请求数据的时候需要用到urllib.request的Request类。

l 发送一个简单的Get请求


l 发送Get请求,带请求头修改


l 发送带数据的Post请求


设置请求头部内容的方式:

l 通过Request对象添加


l 通过urllib.request.Request(headers={})关键字参数设置请求头


设置请求超时

l 对整个socket层设置超时,后面在再用到socket不用重新设置,单位秒


l 睡眠time模块

time.sleep(10)

l request.urlopen(req,timeout=15)

设置代理

1. 代理设置步骤

设置代理ProxyHandler、初始化opener、[设置请求头]、安装opener、使用urlopen


使用install_opener方法之后,会将程序默认的urlopen方法替换掉。也就是说,如果使用install_opener之后,在该文件中,再次调用urlopen会使用自己创建好的opener。如果不想替换掉,只是想临时使用一下,可以使用opener.open(url),这样就不会对程序默认的urlopen有影响。

2. 获取代理IP。上面的步骤中需要用 带代理IP,网上可以找到很多免费的IP地址,这里我自己的实现是爬取的# 这个网站的


使用只需要


IP地址测试可以通过#/ 这个网站测试,代码如下

如果IP可用,返回的数据中会有我们请求的实际IP地址。

一次可以爬取到大约100个ip地址,不过不是所有都能用,如果使用的话,发现不能用就从list中移除,这样可以大大提高爬虫的效率。

3获取数据

爬取到网站内容后需要筛选获取我们需要的数据。这里使用bs4,即 Beautiful Soup.官方文档的:

#/software/BeautifulSoup/bs4/doc.zh/#id1

具体不再赘述。注意一点,有些请求接收的格式为gzip的,需要解压缩,不然会出现乱码的情况。


4总结

使用Python写网络爬虫非常方便,学会这个技能非常有用,如聚合我们需要的内容,分析网络数据,通知目标内容更新等 。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:用 Python 解读十九大工作报告
下一篇:董付国6本Python学习书籍推荐和阅读指南

2021年Python全套免费视频教程在哪里?

Python编程学习路线

Python最高有几级?

人工智能与语音遥控的区别?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省