注册 登录
菊子曰官方网站 返回首页

槑烎的菊子园 http://sns.juziyue.com/?337 [收藏] [复制] [分享] [RSS]

日志

在Scrapy使用splash爬取动态页面

已有 17 次阅读2019-4-13 09:35

分享到:
免费下载菊子曰 在windwos中启动Docker Quickstart Terminal后运行splash: docker run -p 8050:8050 -p 8051:8051 scrapinghub/splash 表示:Splash现在在端口8050(http)和5023(telnet)上的192.168.99.100处可用。 启动后在浏览器中输入192.168.99.100:8050 验证是否启动成功。 在scrapy项目文件settings.py中添加: SPLASH_URL = 'http://192.168.99.100:8050/' # 开启Splash的两个下载中间件并调整HttpCompressionMiddleware的次序 DOWNLOADER_MIDDLEWARES = { 'scrapy_splash.SplashCookiesMiddleware': 723, 'scrapy_splash.SplashMiddleware': 725, 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810, } # 设置去重过滤器 DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter' # 用来支持cache_args(可选) SPIDER_MIDDLEWARES = { 'scrapy_splash.SplashDeduplicateArgsMiddleware': 100, } 在爬虫文件pider.py中添加 def start_requests(self): script = ''' function main(splash) splash:set_viewport_size(1028, 10000) splash:go(splash.args.url) local scroll_to = splash:jsfunc("window.scrollTo") scroll_to(0, 2000) splash:wait(5) return {png=splash:png()} end ''' for url in self.start_urls: #yield SplashRequest(url, args={'images': 0, 'timeout': 10}) yield SplashRequest(url, callback=self.parse, meta = {'dont_redirect': True, 'splash':{'args': {'lua_source':script, 'images':0, 'timeout': 20 }, 'endpoint':'execute', } } ) 免费下载菊子曰

路过

鸡蛋

鲜花

握手

雷人

愤怒

悲哀

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

关闭

站长推荐

再见了,菊子曰的朋友们
再见了,菊子曰的朋友们
由于经营不善,我们决定解散菊子曰开发团队,并且从即日起不再更新菊子曰了

查看 »

菊子曰 ( 闽ICP备12013319号 )

GMT+8, 2019-8-21 08:51 , Processed in 0.016978 second(s), 8 queries , Apc On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部