自己写的基础爬虫,能爬到数据,用 scrapy 框架则爬不到数据
来源:13-1 课程总结

两努
2020-02-22
我自己写了基础爬虫
def get_icibe_word(english):
# 抓取单词页面
word_text = requests.get("www.iciba.com/python", headers=headers).text
sel = Selector(text=word_text)
这个爬虫是能爬到数据的
但是用了 scrapy 框架,却爬不到数据
我使用了反爬的UserAgent和动态 IP,都无法执行
def parse(self, response):里面的方法。
class WordSpider(scrapy.Spider):
name = 'word'
allowed_domains = ['iciba.com']
start_urls = ['http://www.iciba.com/setting']
print("开始")
def parse(self, response):
print("成功打印页面")
print(response)
print("结束")
写回答
2回答
-
两努
提问者
2020-02-22
老师,我复制黏贴你的代码进去,成功捕获到网页了,也就是说我其他代码都没有问题,就是 useragent 有问题而已。那么如何更换user-agent的库呢。
012020-02-24 -
bobby
2020-02-22
一般这种情况是不可能出现的,我已经试过你说的这个问题了 我通过在settings中设置
DOWNLOADER_MIDDLEWARES = { # 'ScrapyRedisTest.middlewares.MyCustomDownloaderMiddleware': 543, 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware':12, } USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36'
是没有问题的,所以如果你自己设置了组件随机切换useragent还是出现这个问题就有理由怀疑 你使用的库中维护的user-agent某些不被网站支持
00
相似问题