python 爬虫源码 selenium_python爬虫请求头设置代码

本文介绍了使用Python进行网络爬虫时如何设置请求头来模拟浏览器行为,避免被目标网站封禁。覆盖requests、Selenium、Scrapy及Aiohttp等常用库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、requests设置请求头:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

import requests

url="http://www.targetweb.com"

headers={

'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',

'Cache-Control':'max-age=0',

'Connection':'keep-alive',

'Referer':'http://www.baidu.com/',

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13059.400'}

res=requests.get(url,headers=headers)

#图片下载时要用到字节流,请求方式如下

#res=requests.get(url,stream=True,headers)

二、Selenium+Chrome请求头设置:

?

1

2

3

4

5

6

7

8

from seleniumimport webdriver

options= webdriver.ChromeOptions()

options.add_argument('lang=zh_CN.UTF-8')# 设置中文

options.add_argument('user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13059.400"')# 设置头部

browser= webdriver.Chrome(chrome_options=options)

url="http://www.targetweb.com"

browser.get(url)

browser.quit()

三、selenium+phantomjs请求头设置:

?

1

2

3

4

5

6

7

8

from seleniumimport webdriver

from selenium.webdriver.common.desired_capabilitiesimport DesiredCapabilities

des_cap= dict(DesiredCapabilities.PHANTOMJS)

des_cap["phantomjs.page.settings.userAgent"]= ("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13059.400")

browser= webdriver.PhantomJS(desired_capabilities=des_cap)

url="http://www.targetweb.com"

browser.get(url)

browser.quit()

四、爬虫框架scrapy设置请求头:

在settings.py文件中添加如下:

?

1

2

3

4

5

DEFAULT_REQUEST_HEADERS= {

'accept':'image/webp,*/*;q=0.8',

'accept-language':'zh-CN,zh;q=0.8',

'referer':'https://www.baidu.com/',

'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13059.400',}

五、Python异步Aiohttp请求头设置:

?

1

2

3

4

5

6

7

8

9

10

11

12

import aiohttp

url="http://www.targetweb.com"

headers={

'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',

'Cache-Control':'max-age=0',

'Connection':'keep-alive',

'Referer':'http://www.baidu.com/',

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13059.400'}

asyncwithaiohttp.ClientSession(headers=headers)assession:

asyncwithsession.get(url)asresp:

print(resp.status)

print(awaitresp.text())

内容扩展:

1、为什么要设置headers?

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

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

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

2、 headers在哪里找?

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

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

以上就是python爬虫请求头设置代码的详细内容,更多关于python爬虫请求头如何设置的资料请关注服务器之家其它相关文章!

原文链接:https://www.py.cn/spider/guide/18537.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值