博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python爬虫请求头是什么意思_Pytho爬虫中Requests设置请求头Headers的方法
阅读量:6469 次
发布时间:2019-06-23

本文共 1538 字,大约阅读时间需要 5 分钟。

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内容请搜索WEB开发者以前的文章或继续浏览下面的相关文章希望大家以后多多支持WEB开发者!

转载地址:http://qsdko.baihongyu.com/

你可能感兴趣的文章
2016年全球光纤需求量将达4.25亿芯公里 中国占57%决定产业格局
查看>>
MaxCompute UDF系列之拼音转换
查看>>
《JavaScript和jQuery实战手册(原书第2版)》——2.2节内置函数
查看>>
部署混合云指南:多云服务商管理的八大要素
查看>>
视频监控热成像技术在民用领域的应用
查看>>
北大深圳医院使用移动医疗技术,阻断乙肝母婴传播
查看>>
火绒安全马刚自述:中国还有一个“纯粹”的杀毒软件
查看>>
20年历史的bug被发现会泄漏微软 Live 账号登录信息
查看>>
Java 基础DAY 01
查看>>
并发基础笔记-(线程基础)
查看>>
web前端学习教程(视频教程、学习教程、学习路线、课程大纲)
查看>>
[译] 论 Rust 和 WebAssembly 对源码地址索引的极限优化
查看>>
Ubuntu系统上安装Nginx服务器以及使用方法
查看>>
正则知识点
查看>>
Position属性:static、fixed、absolute和relative的区别和用法
查看>>
6_flutter_card(卡片),计算器,状态栏隐藏
查看>>
浅入浅出容器文件系统
查看>>
Android AsyncTask讲解
查看>>
swift-24xcode8内存分配图
查看>>
webpack 打包优化
查看>>