本篇介绍项目开发的过程中,对 Setting 文件的配置和使用
Python爬虫教程-32-Scrapy 爬虫框架项目 Settings.py 介绍
- settings.py 文件的使用
- 想要详细查看 settings.py文件的更多内容,可查看中文文档:
Settings 中配置 USER_AGENTS
- 在 settings.py 文件中很多东西默认是给注释掉的,当我们需要使用的时候,根据注释的提示,我们编写我们自己的内容
# IP 有效期一般20天,请自行到上述网站获取最新 IPPROXIES = [ {'ip_port': '177.136.120.174:80', 'user_passwd': 'user1:pass1'}, {'ip_port': '218.60.8.99:3129', 'user_passwd': 'user2:pass2'}, {'ip_port': '206.189.204.62:8080', 'user_passwd': 'user3:pass3'}, {'ip_port': '125.62.26.197:3128', 'user_passwd': 'user4:pass4'}]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 这些类似的设置都是一次设置,就可以重复使用了
关于去重
- 很多网站都是相同的内容,比如介绍 python 爬虫的,很多很多,假设爬取到这些的时候,我们就值需要一个,利用 scrapy 的去重功能,防止它对重复网站无限制爬下去
- 为了防止爬虫陷入死循环,需要去重
- 即在 spider 中 parse 函数中,返回 Request 的时候加上 dont_filter = False 参数
myspider(scrapy.Spider): def parse (...): ... yield scrapy.Request(url = url, callback = self.parse, dont_filter = False)
- 1
- 2
- 3
- 4
- 如何在 scrapy 使用 selenium
- 可以放入中间件中的 process _request 函数中
- 在函数中调用 selenium,完成爬取后返回 Response
class MyMiddleWare(object): def process_request(...): driver = webdriver.Chrome() html = driver.page_source driver.quit() return HtmlResponse(url = request.url, encoding = 'utf-8', body = html ,request = requeset
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
更多文章链接:Python 爬虫随笔
- 本笔记不允许任何个人和组织转载