关于appium爬虫使用以及部署
https://github.com/butomo1989/docker-android
https://zhuanlan.zhihu.com/appium
mysql底层
https://blog.csdn.net/gitchat/article/details/78787837
-
scrapy_redis作用:断点续爬 分布式
-
scrapy_redis原理:持久化请求队列和指纹集合
-
request的指纹的生成
- hashlib.sha1()
- method 排序后的url 排序后的请求体or’’
-
request进入请求队列的条件
- 指纹不在集合中
- request.dont_filter == True
-
scrapy_redis代码实现
- 完成scrapy.Spider或scrapy.spiders.CrawlSpider爬虫
- 在settings.py中设置scrapy_redis的配置
生成指纹的去重类
调度器类
是否持久化请求队列和指纹集合
使用scrapy_redis的数据管道
指定共用的redis的url - 更改爬虫的继承类为
scrapy_redis.spider.RedisSpider
scrapy_redis.spider.RedisCrawlSpider - 把start_urls换成redis_key
- 上传代码
- 分别 scrapy crawl 爬虫名
- 共用的redis中向redis_key中push起始的url
- scrapy_redis的两个类爬虫不能自动停止
-
scrapy_splash组件
scrapy_splash组件利用splash服务自动加载渲染js代码
docker镜像名:scrapinghub/splash
docekr run -d -p 8050:8050 scrapinghub/splash
在settings.py中配置scrapy_splash的设置
指定指纹去重类
指定三个相关的中间件
指定使用splash的http缓存功能
指定splash服务的ip端口
在爬虫中使用scrapy_splash.SplashRequest类来构造请求对象