python爬虫题库,python必须掌握的库
本文文字和图片均来自互联网,仅供学习交流,无商业用途。如有问题,请及时联系我们进行处理。
作者龙哥带你飞。
启动体请求库是Python爬虫中最重要、最重要、最常用的库,一定要熟练掌握。
让我们来了解一下这个图书馆。
Requestsrequests是Python中最常用的http请求库,也极其简单。使用时需要先安装请求,直接用Pycharm一键安装。
1.响应和编码导入请求
url=http://www.baidu.com
r=requests.get(url)
打印类型(r)
打印状态代码
打印r .编码
#打印r .内容
打印r.cookies
获取:
类 requests.models.Response
200
ISO-8859-1
request scookiejar[cookie bdorz=27315for.baidu.com/]2。Get请求方法值={user: AAA , id: 123}
url=http://www.baidu.com
r=requests.get(url,值)
打印简历url
得到:http://www.baidu.com/?用户=aaa id=1233。发布请求模式值={ 用户: AAA , id: 123}
url=http://www.baidu.com
r=requests.post(url,值)
打印简历url
#打印简历
获取:
http://www.baidu.com/4.头头句柄user _ agent={ Mozilla/5.0(Windows NT 10.0;WOW64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/53 . 0 . 2785 . 104 Safari/537.36 Core/1 . 53 . 4295 . 400 QQ browser/9 . 7 . 12661 . 400 }
header={ User-Agent :User _ Agent }
url=http://www.baidu.com/
r=requests.get(url,headers=header)
R.content注意处理请求的头。
很多时候我们的服务器会检查请求是否来自浏览器,所以我们需要在请求的头部伪装成浏览器来请求服务器。一般在发出请求时,最好伪装成浏览器,防止拒绝访问等错误,这也是一种反爬虫策略。
特别是,无论我们今后提出什么要求,我们都必须带上头文件。千万不要偷懒省事。把这个地方当成交通规则。闯红灯可能不危险但是不安全。为了省事,我们闯红灯停绿灯就够了。网络爬虫请求也是如此。必须添加此标题以防止错误。
user _ agent={ Mozilla/5.0(Windows NT 10.0;WOW64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/53 . 0 . 2785 . 104 Safari/537.36 Core/1 . 53 . 4295 . 400 QQ browser/9 . 7 . 12661 . 400 }
header={ User-Agent :User _ Agent }
url=http://www.qq.com/
request=urllib2。请求(url,头=头)
response=urllib2.urlopen(请求)
打印响应。阅读()。decode (gbk) #这里注意需要对阅读的网页内容进行转码。首先,检查网页聊天集的格式。在浏览器上打开www.qq.com,按F12检查用户代理:
用户代理:一些服务器或代理将使用这个值来确定请求是否由浏览器发出。
Content-Type:当使用REST接口时,服务器会检查这个值来决定如何解析HTTP Body中的内容。
Application/xml:在调用XML RPC时使用,比如RESTful/SOAP
Application/json:在JSON RPC调用时使用
application/x-www-form-urlencoded:供浏览器在提交Web表单时使用。
当使用服务器提供的RESTful或SOAP服务时,错误的Content-Type设置将导致服务器拒绝服务。
5.响应代码的URL和响应头头= 3358 www.baidu.com
r=requests.get(url)
if r . status _ code==requests . codes . ok:
打印状态代码
打印简历标题
R.headers.get (content-type) #建议用这种方式获取头字段。
否则:
r.raise_for_status()
获取:
200
{Content-Encoding: gzip , Transfer-Encoding: chunked , Set-Cookie : BDORZ=27315;max-age=86400;domain=.baidu.compath=/, Server: bfe/1.0.8.18 , Last-Modified: Mon,23 Jan 2017 13:27:57 GMT , Connection: Keep-Alive , Pragma: no-cache , Cache-Control: private,no-cache,no-store,proxy-reval(232,232,232);颜色:rgb(38,38,38);边距:0px填充:0px背景:rgb(249,249,249);url=https://www.zhihu.com/
r=requests.get(url)
打印r.cookies
打印r.cookies.keys()
获取:
www.zhihu.com/的Cookie aliyungf _ TC=aqaaacymglzy 2 qsaenag 2 yyr 0 vrtlxfz]
[aliyungf_tc]7重定向和历史消息处理重定向只需要设置allow_redirects字段。将allow_redirectsy设置为True将允许重定向,设置为False将禁止重定向。
r=requests.get(url,allow_redirects=True)
打印简历url
打印状态代码
打印历史记录
获取:
http://www.baidu.com/
200
[]8.超时设置超时选项由参数timeout设置。
python URL= http://www . Baidu . com r=requests . get(URL,timeout=2)
9.代理设置proxis={
http:http://www.baidu.com ,
http:http://www.qq.com ,
http:http://www.sohu.com ,
}
url=http://www.baidu.com
R=requests.get (URL,proxies=proxies)。如果你觉得文章还不错,请点赞分享。您的肯定是我最大的鼓励和支持。
原创作品来自爱吃饼干的博主松鼠,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。