request如何定义headers进行网页访问

480次阅读
没有评论

request如何定义headers进行网页访问

都说知识之间是相互汇通和包容的,借着我们之前才讲过header的热乎劲,为大家带来新朋友request的同时,也不忘记再来跟我们的老朋友header见见面。说到这里已经有小伙伴开始好奇,request会定义headers呢?简单的来说就是request帮助header进行网页访问,接下来看看是如何进行的吧。

对于写爬虫来讲,模拟浏览器是发请求的时候做的最多的事情了,最常见的模拟浏览器无非就是伪装headers:

In [23]: url = 'http://xlzd.me'
 
In [24]: headers = {'User-Agent': 'my custom user agent', 'Cookie': 'haha'}
 
In [25]: requests.get(url, headers=headers)

 

拓展:

怎样取出HTTP response里面的内容呢?

In [7]: r = requests.get('http://xlzd.me')
 
In [8]: r.encoding
Out[8]: 'UTF-8'
 
In [9]: r.headers
Out[9]: {'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', 'Vary': 'Accept-Encoding', 'Server': 'nginx', 'Connection': 'keep-alive', 'Date': 'Fri, 11 Dec 2015 06:42:31 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'X-Pingback': 'http://xlzd.me/action/xmlrpc'}
 
In [10]: r.cookies
Out[10]: <RequestsCookieJar[]>
 
In [11]: r.text
Out[11]: u'<!DOCTYPE HTML>\n<html>\n\t<hea......

requests会自动对响应内容编码,所以就可以通过r.text取出响应文本了。对于别等响应内容(文件、图片、…),则可以通过r.content取出来。对于json内容,也可以通过r.json()来取。

本篇的借助request访问网页浏览的方法大家肯定都学会了,从代码上面看,算是最简单的一种。如果之间有其他方法没有学会的小伙伴,可以以后都使用request方法。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-24发表,共计1048字。
新手QQ群:570568346,欢迎进群讨论 Python51学习