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


Posted in Python onSeptember 22, 2020

1、为什么要设置headers?

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

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

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

2、 headers在哪里找?

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

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

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

注意: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执行shell获取硬件参数写入mysql的方法
Dec 29 Python
详解python进行mp3格式判断
Dec 23 Python
Python正则表达式匹配中文用法示例
Jan 17 Python
windows下添加Python环境变量的方法汇总
May 14 Python
实例详解Python模块decimal
Jun 26 Python
python 模拟贷款卡号生成规则过程解析
Aug 30 Python
Python装饰器原理与基本用法分析
Jan 07 Python
python 安装impala包步骤
Mar 28 Python
python实现126邮箱发送邮件
May 20 Python
python性能测试工具locust的使用
Dec 28 Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 Python
Python如何telnet到网络设备
Feb 18 Python
python 线程的五个状态
Sep 22 #Python
python 如何实现遗传算法
Sep 22 #Python
利用python汇总统计多张Excel
Sep 22 #Python
爬虫代理的cookie如何生成运行
Sep 22 #Python
python 如何将office文件转换为PDF
Sep 22 #Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 #Python
Python使用for生成列表实现过程解析
Sep 22 #Python
You might like
PHP脚本数据库功能详解(下)
2006/10/09 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
javascript之水平横向滚动歌词同步的应用
2007/05/07 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
使用IPython下的Net-SNMP来管理类UNIX系统的教程
2015/04/15 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
python实现网站微信登录的示例代码
2019/09/18 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
村委会主任先进事迹
2014/01/15 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
学校与家长安全责任书
2014/07/23 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
四风问题查摆材料
2014/08/25 职场文书
普通党员对照检查材料
2014/08/28 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
房产销售独家委托书范本
2014/10/01 职场文书
学生检讨书范文
2014/10/30 职场文书
应聘教师求职信范文
2015/03/20 职场文书
业务员岗位职责范本
2015/04/03 职场文书
刑事起诉书范文
2015/05/19 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python