目录
方法三:直接在sttings文件里面上设置UserAgent
使用fake-useragent包
fake-useragent包含了大量的UserAgent可以随意进行替换
1.安装fake-usragent
pip install fake-useragent
2.实现
import fake_useragent
userAgen=fake_useragent.UserAgent()
for i in range(5):print(userAgen.random)
这样每次就可以随机用不同的UserAgent去访问网站,你的爬虫也没那么容易被封了
3.如果你要设置成某个浏览器的UserAgent也是可以的
例如设置成Chrome的
import fake_useragent
userAgen=fake_useragent.UserAgent()
for i in range(5):print(userAgen.chrome)
设置成firefox的
import fake_useragent
userAgen=fake_useragent.UserAgent()
for i in range(5):print(userAgen.firefox)
在Scrapy中实现随机UserAgent
方法一:直接在程序中添加UserAgent
# -*- coding: utf-8 -*-
import scrapy
from fake_useragent import UserAgent
class ExampleSpider(scrapy.Spider):
name = 'example'
header={'User-Agent':UserAgent().random}
def start_requests(self):
url='http://example.com'
yield scrapy.Request(url,headers=self.header)
def parse(self, response):
print(response.request.headers['User-Agent'])
方法二:在middlewares中添加UserAgent
(1)在process_request()方法里面,添加一下代码
def process_request(self, request, spider):
from fake_useragent import UserAgent
ua = UserAgent()
request.headers['User-Agent'] = ua.random
(2)然后把settings文件里面默认的UserAgent关闭掉
DOWNLOADER_MIDDLEWARES = {
'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
'dome1.middlewares.Dome1DownloaderMiddleware': 543,
}
(3)实现
第一次运行
第二次运行
可以看到两次运行的UserAgent都是不一样的,表示我们的随机UserAgent也是设置成功了
方法三:直接在sttings文件里面上设置UserAgent
(1)在setting文件里面添加两行代码
from fake_useragent import UserAgent
USER_AGENT=UserAgent().random
(2)实现:
第一次运行
第二次运行
可以看到两次的结果都是不一样的,说明我的的随机UserAgent已经是设置成功了呢
以上就是Scrapy设置代理IP的过程,以上教程如果觉得对你有帮助的话,请转发给更多人学习!
推荐阅读:
《快速设置Scrapy随机IP代理》:快速设置Scrapy随机的IP代理_Jun的博客-CSDN博客_scrapy 随机ip代理