Python爬虫,用scrapy框架和scrapy-splash爬豆瓣读书设置代理不起作用,有没有大神帮忙看一下,
时间: 2019-04-25来源:博客园
前景提要
Python爬虫,用scrapy框架和scrapy-splash爬豆瓣读书设置代理不起作用,有没有大神帮忙看一下,谢谢
0 悬赏园豆: 50 [待解决问题] 用scrapy框架和scrapy-splash爬豆瓣读书设置代理不起作用,代理设置后还是提示需要登录。
settings内的FirstSplash.middlewares.FirstsplashSpiderMiddleware':823和FirstsplashSpiderMiddleware里面的 request.meta['splash']['args']['proxy'] = "' http://112.87.69.226:9999"是从网上搜的,代理ip是从【西刺免费代理IP】这个网站随便找的一个,scrapy crawl Doubanbook打印出来的text
内容是需要登录。有没有大神帮忙看看,感谢!
<br>spider代码: name = 'doubanBook' category = '' def start_requests(self): serachBook = ['python','scala','spark'] for x in serachBook: self.category = x start_urls = ['https://book.douban.com/subject_search', ] url=start_urls[0]+"?search_text="+x self.log("开始爬取:"+url) yield SplashRequest(url,self.parse_pre) def parse_pre(self, response): print(response.text)
中间件代理配置: class FirstsplashSpiderMiddleware(object): def process_request(self, request, spider): print("进入代理") print(request.meta['splash']['args']['proxy']) request.meta['splash']['args']['proxy'] = "'http://112.87.69.226:9999" print(request.meta['splash']['args']['proxy'])
settings配置: BOT_NAME = 'FirstSplash' SPIDER_MODULES = ['FirstSplash.spiders'] NEWSPIDER_MODULE = 'FirstSplash.spiders' ROBOTSTXT_OBEY = False #docker+scrapy-splash配置 FEED_EXPORT_ENCODING='utf-8' #doucer服务地址 SPLASH_URL = 'http://127.0.0.1:8050' # 去重过滤器 DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter' # 使用Splash的Http缓存 HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage' #此处配置改为splash自带配置 SPIDER_MIDDLEWARES = { 'scrapy_splash.SplashDeduplicateArgsMiddleware': 100, } #下载器中间件改为splash自带配置 DOWNLOADER_MIDDLEWARES = { 'scrapy_splash.SplashCookiesMiddleware': 723, 'scrapy_splash.SplashMiddleware': 725, 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810, 'FirstSplash.middlewares.FirstsplashSpiderMiddleware':823, } # 模拟浏览器请求头 DEFAULT_REQUEST_HEADERS = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', } python 爬虫 scrapy scrapy-splash 代理 whitea | 初学一级 | 园豆: 72
提问于:2019-04-25 16:42 显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
< > 分享
分享您的问题
所有回答(1) 0 需要登录是账号权限的问题,ip代理是改变你的请求ip。
看了一下,这个url好像是不需要登录的。
你不用ip代理试试呢? Masako | 园豆:1751 (小虾三级) | 2019-04-25 17:01 原先不用代理,然后上午一直可以爬,下午就不行了说ip异常让登录,然后我就想刚好试一下这个代理,就按这个帖子上的配了一下https://www.jianshu.com/p/7ec32ee1e9d4,但是我写的代理方法都不打印东西。 支持( 0 ) 反对( 0 ) whitea | 园豆:72 (初学一级) | 2019-04-25 17:08 @whitea: “进入代理”这个打印了吗?
你的代理和这个示例的不一样,他多半是有个代理服务器,配置的是有账号密码的那种,你网站上随便找的,先不说可用性很低,也没有账号密码这些。 支持( 0 ) 反对( 0 ) Masako | 园豆:1751 (小虾三级) | 2019-04-25 17:23 我理解的是不同的代理方式的配置方法可能不一样。 支持( 0 ) 反对( 0 ) Masako | 园豆:1751 (小虾三级) | 2019-04-25 17:26 @whitea: 支持( 0 ) 反对( 0 ) Masako | 园豆:1751 (小虾三级) | 2019-04-25 17:35 编辑文本 预览 上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要 登录 以后才能回答,未注册用户请先 注册 。

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行