Pytho爬虫中Requests设置请求头Headers的方法

 更新时间:2020年09月22日 10:57:06   作者:syblogs  
这篇文章主要介绍了Pytho爬虫中Requests设置请求头Headers的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、为什么要设置headers?

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

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

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

2、 headers在哪里找?

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

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

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

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

import requests

# 中文网页:https://baike.so.com/doc/24386561-25208408.html
url1='https://baike.so.com/doc/24386561-25208408.html'
#添加请求头
headers = {
 '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'
}
response_1=requests.get(url1, headers=headers)

response_1.encoding='utf-8'
#第一种:
# with open('steve_jobs2.html','w',encoding='utf-8') as f1:
#  f1.write(response_1.text)
#第二种:
f1=open('steve_jobs2.html','w',encoding='utf-8')
f1.write(response_1.text)

c=response_1.text
print(c)

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

import requests
import re

# 英文网页:https://en.wikipedia.org/wiki/Steve_Jobs
url2='https://en.wikipedia.org/wiki/Steve_Jobs'
response_2=requests.get(url2)
# 源码都是Utf-8编码
response_2.encoding='utf-8'
#第一种:
# with open('steve_jobs3.html','w',encoding='utf-8') as f2:
#  f2.write(response_2.text)
#第二种:
f2=open('steve_jobs3.html','w',encoding='utf-8')
f2.write(response_2.text)

c=response_2.text
print(c)

到此这篇关于Pytho爬虫中Requests设置请求头Headers的方法的文章就介绍到这了,更多相关Pytho Requests设置请求头Headers内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python日志模块logging的使用方法总结

    Python日志模块logging的使用方法总结

    这篇文章主要分享的是Python日志模块logging的使用方法总结,ogging模块默认级别是WARNING,意味着只会追踪该级别以上的事件,除非更改日志配置,想了解更多相关资料的小伙伴可以参考下面文章内容
    2022-05-05
  • Python实现环形链表

    Python实现环形链表

    这篇文章主要为大家详细介绍了Python实现环形链表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 使用pytorch完成kaggle猫狗图像识别方式

    使用pytorch完成kaggle猫狗图像识别方式

    今天小编就为大家分享一篇使用pytorch完成kaggle猫狗图像识别方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python字典和集合编程技巧大总结

    Python字典和集合编程技巧大总结

    这篇文章主要给大家介绍了关于Python字典和集合编程技巧的相关资料,Python中的字典和集合是两种非常常用的数据结构,它们可以帮助我们更方便地管理和操作数据,需要的朋友可以参考下
    2023-09-09
  • Python批量添加水印的优雅实现与进阶

    Python批量添加水印的优雅实现与进阶

    在日常图像处理中,为图片添加水印是一项常见任务,有多种方法和工具可供选择,本文将专注于使用Python语言结合PIL库批量添加水印,感兴趣的可以了解下
    2023-12-12
  • 11月编程语言排行榜 Python逆袭C#上升到第4

    11月编程语言排行榜 Python逆袭C#上升到第4

    11月编程语言排行榜 Python逆袭C#上升到第4,无论在哪个榜单中 Python 都是保持着非同寻常的增长速度,为什么Python增长的这么快
    2017-11-11
  • 基于Django websocket实现视频画面的实时传输功能(最新推荐)

    基于Django websocket实现视频画面的实时传输功能(最新推荐)

    Django Channels 是一个用于在 Django框架中实现实时、异步通信的扩展库,本文给大家介绍基于Django websocket实现视频画面的实时传输案例,本案例是基于B/S架构的视频监控画面的实时传输,使用django作为服务端的开发框架,需要的朋友可以参考下
    2023-06-06
  • Python入门之模块与包

    Python入门之模块与包

    这篇文章主要为大家介绍了Python的模块与包,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Python办公自动化处理的10大场景应用示例

    Python办公自动化处理的10大场景应用示例

    这篇文章主要为大家介绍了Python办公自动化处理的10大场景应用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • python实现多进程通信实例分析

    python实现多进程通信实例分析

    这篇文章主要介绍了python实现多进程通信实例分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09

最新评论