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 相关文章推荐
浅谈django中的认证与登录
Oct 31 Python
详解Python函数可变参数定义及其参数传递方式
Aug 02 Python
Python 中 Virtualenv 和 pip 的简单用法详解
Aug 18 Python
Python上下文管理器和with块详解
Sep 09 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 Python
基于Python的Post请求数据爬取的方法详解
Jun 14 Python
jupyter修改文件名方式(TensorFlow)
Apr 21 Python
keras的backend 设置 tensorflow,theano操作
Jun 30 Python
Python实现王者荣耀自动刷金币的完整步骤
Jan 22 Python
python如何发送带有附件、正文为HTML的邮件
Feb 27 Python
Python使用永中文档转换服务
May 06 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
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
php实现aes加密类分享
2014/02/16 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
Python标准库与第三方库详解
2014/07/22 Python
Python线程中对join方法的运用的教程
2015/04/09 Python
python实现下载整个ftp目录的方法
2017/01/17 Python
Django 前后台的数据传递的方法
2017/08/08 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
Django model update的多种用法介绍
2020/03/28 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
python代码打印100-999之间的回文数示例
2019/11/24 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
浅析python函数式编程
2020/09/26 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
美国领先的男士和女士内衣购物网站:Freshpair
2019/02/25 全球购物
自动化专业个人求职信范文
2013/11/29 职场文书
杠杆的科学教学反思
2014/01/10 职场文书
小学生常见病防治方案
2014/06/06 职场文书
伦敦奥运会口号
2014/06/13 职场文书
经营理念标语
2014/06/21 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js