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基础学习之反射机制详解

    Python基础学习之反射机制详解

    在Python中,反射是指通过一组内置的函数和语句,在运行时动态地访问、检查和修改对象的属性、方法和类信息的机制。本文将通过简单的示例和大家讲讲Python中的反射机制,希望对大家有所帮助
    2023-03-03
  • python循环控制之break和continue流程控制语句

    python循环控制之break和continue流程控制语句

    这篇文章主要介绍了python循环控制之break流程控制语句,Python中提供了两个关键字用来控制循环语句,分别是break和continue,本文都有介绍,需要的朋友可以参考一下
    2022-03-03
  • Python数字/字符串补零操作实例代码

    Python数字/字符串补零操作实例代码

    我们在开发中为了排版方便或者是输出文件命名整洁,通常需要给数字前面补0来做统一,这篇文章主要给大家介绍了关于Python数字/字符串补零操作的相关资料,需要的朋友可以参考下
    2021-07-07
  • Python连接es笔记之创建和删除操作示例详解

    Python连接es笔记之创建和删除操作示例详解

    这篇文章主要为大家介绍了Python连接es笔记之创建和删除操作示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • python、Matlab求定积分的实现

    python、Matlab求定积分的实现

    今天小编就为大家分享一篇python、Matlab求定积分的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python使用GitPython操作Git版本库的方法

    Python使用GitPython操作Git版本库的方法

    这篇文章主要介绍了Python使用GitPython操作Git版本库的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Python绘制分形图案探索无限细节和奇妙之美

    Python绘制分形图案探索无限细节和奇妙之美

    本文将介绍如何使用Python绘制各种分形图案,包括分形树、科赫曲线、曼德博集合等。通过本文读者可以了解分形图案的基本概念和构造方法,并学会使用Python绘制出各种精美的分形图案。本文还提供了具体的代码示例和实践案例,帮助读者更好地理解分形图案的奇妙之美
    2023-04-04
  • Python中replace方法实例分析

    Python中replace方法实例分析

    这篇文章主要介绍了Python中replace方法,有一定的实用价值,需要的朋友可以参考下
    2014-08-08
  • python实现滑雪者小游戏

    python实现滑雪者小游戏

    这篇文章主要为大家详细介绍了python实现滑雪者小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • 利用pandas读取中文数据集的方法

    利用pandas读取中文数据集的方法

    今天小编就为大家分享一篇利用pandas读取中文数据集的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07

最新评论