爬蟲總結11
阿新 • • 發佈:2018-12-04
關於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類來構造請求物件