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环境搭建之OpenCV的步骤方法
Oct 20 Python
VSCode下好用的Python插件及配置
Apr 06 Python
django中使用Celery 布式任务队列过程详解
Jul 29 Python
Python队列RabbitMQ 使用方法实例记录
Aug 05 Python
python实现通过flask和前端进行数据收发
Aug 22 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
python简单实现最大似然估计&scipy库的使用详解
Apr 15 Python
python 元组的使用方法
Jun 09 Python
解决pip install psycopg2出错问题
Jul 09 Python
基于python实现图片转字符画代码实例
Sep 04 Python
python中Mako库实例用法
Dec 31 Python
Python使用openpyxl批量处理数据
Jun 23 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 mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
PHP实现动态删除XML数据的方法示例
2018/03/30 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
Vue.js每天必学之数据双向绑定
2016/09/05 Javascript
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
JS实现合并json对象的方法
2017/10/10 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
vue form表单post请求结合Servlet实现文件上传功能
2021/01/22 Vue.js
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
python基础教程之对象和类的实际运用
2014/08/29 Python
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
澳洲在线厨具商店:Kitchen Style
2018/05/05 全球购物
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
解释下面关于J2EE的名词
2013/11/15 面试题
自荐信结尾
2013/10/27 职场文书
通信工程专业毕业生推荐信
2013/12/25 职场文书
心得体会开头
2014/01/01 职场文书
出生医学证明样本
2014/01/17 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
先进单位事迹材料
2014/12/25 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
个性发展自我评价2015
2015/03/09 职场文书