Python——爬虫【Requests设置请求头Headers】

转发:https://blog.csdn.net/ysblogs/article/details/88530124

1、为什么要设置headers? 


在请求网页爬取的时候,输出的text信息中会出现抱歉,无法访问等字眼,这就是禁止爬取,需要通过反爬机制去解决这个问题。

headers是解决requests请求反爬的方法之一,相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。

对反爬虫网页,可以设置一些headers信息,模拟成浏览器取访问网站 。


2、 headers在哪里找? 


谷歌或者火狐浏览器,在网页面上点击:右键–>检查–>剩余按照图中显示操作,需要按Fn+F5刷新出网页来 

有的浏览器是点击:右键->查看元素,刷新

注意:headers中有很多内容,主要常用的就是user-agent 和 host,他们是以键对的形式展现出来,如果user-agent 以字典键对形式作为headers的内容,就可以反爬成功,就不需要其他键对;否则,需要加入headers下的更多键对形式。

用Python下载一个网页保存为本地的HTML文件实例1-中文网页


 
 
  1. import requests
  2. # 中文网页:https://baike.so.com/doc/24386561-25208408.html
  3. url1= 'https://baike.so.com/doc/24386561-25208408.html'
  4. #添加请求头
  5. headers = {
  6. 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE'
  7. }
  8. response_1=requests.get(url1, headers=headers)
  9. response_1.encoding= 'utf-8'
  10. #第一种:
  11. # with open('steve_jobs2.html','w',encoding='utf-8') as f1:
  12. # f1.write(response_1.text)
  13. #第二种:
  14. f1=open( 'steve_jobs2.html', 'w',encoding= 'utf-8')
  15. f1.write(response_1.text)
  16. c=response_1.text
  17. print(c)

 用Python下载一个网页保存为本地的HTML文件实例2-英文网页


 
 
  1. import requests
  2. import re
  3. # 英文网页:https://en.wikipedia.org/wiki/Steve_Jobs
  4. url2= 'https://en.wikipedia.org/wiki/Steve_Jobs'
  5. response_2=requests.get(url2)
  6. # 源码都是Utf-8编码
  7. response_2.encoding= 'utf-8'
  8. #第一种:
  9. # with open('steve_jobs3.html','w',encoding='utf-8') as f2:
  10. # f2.write(response_2.text)
  11. #第二种:
  12. f2=open( 'steve_jobs3.html', 'w',encoding= 'utf-8')
  13. f2.write(response_2.text)
  14. c=response_2.text
  15. print(c)

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值