草庐IT

scrapy-splash

全部标签

python - 如何在 Amazon S3 上存储 scrapy 图像?

我已经使用Scrapy大约1周了,想将图像存储到amazonS3,他们提到他们支持将图像上传到amazonS3,但没有记录。那么有人知道如何将AmazonS3与Scrapy一起使用吗?这是他们关于mediapipeline的Scrapy文档. 最佳答案 您需要3个设置:AWS_ACCESS_KEY_ID="xxxxxx"AWS_SECRET_ACCESS_KEY="xxxxxx"IMAGES_STORE="s3://bucketname/base-key-dir-if-any/"就是这样,即。图像将使用在http://readthe

python - Scrapy CrawlSpider 不抓取第一个着陆页

我是Scrapy的新手,我正在做一个抓取练习,我正在使用CrawlSpider。虽然Scrapy框架工作得很好并且它遵循相关链接,但我似乎无法让CrawlSpider抓取第一个链接(主页/登陆页面)。相反,它会直接抓取规则确定的链接,但不会抓取链接所在的着陆页。我不知道如何解决这个问题,因为不建议覆盖CrawlSpider的解析方法。修改follow=True/False也不会产生任何好的结果。这是代码片段:classDownloadSpider(CrawlSpider):name='downloader'allowed_domains=['bnt-chemicals.de']star

python - 反复安装 scrapy 和 lxml 失败

我以前使用Anaconda来处理python,但我现在开始使用虚拟环境。我设置了virtualenv和virtualenvwrapper,并一直在尝试为我想尝试的项目添加模块,特别是scrapy和lxml。每次我pip安装时,我都会遇到错误。对于抓取:File"/home/philip/Envs/venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py",line1003,inrun_setupraiseDistutilsError("Setupscriptexitedwith%s"%(v.arg

python - 通过 lambda 回调在 Scrapy 蜘蛛内部传递参数

你好,我有这个简短的爬虫代码:classTestSpider(CrawlSpider):name="test"allowed_domains=["google.com","yahoo.com"]start_urls=["http://google.com"]defparse2(self,response,i):print"page2,i:",i#traceback.print_stack()defparse(self,response):foriinrange(5):print"page1i:",ilink="http://www.google.com/search?q="+str(i

python - 写入 csv 文件 scrapy

我想在scrapy中写入csv文件forrssinrsslinks:item=AppleItem()item['reference_link']=response.urlbase_url=get_base_url(response)item['rss_link']=urljoin_rfc(base_url,rss)#item['rss_link']=rssitems.append(item)#items.append("\n")f=open(filename,'a+')#filenameisapple.com.csvforiteminitems:f.write("%s\n"%item)

javascript - 如何绕过 Scrapy 中的 cloudflare bot/ddos 保护?

我曾经偶尔抓取电子商务网页以获取产品价格信息。我已经有一段时间没有使用使用Scrapy构建的爬虫了,昨天我尝试使用它-我遇到了机器人保护问题。它使用CloudFlare的DDOS保护,它基本上使用JavaScript评估来过滤掉禁用JS的浏览器(因此也包括爬虫)。评估函数后,将生成具有计算数字的响应。作为返回,服务发回附加到每个请求的两个身份验证cookie,允许正常抓取站点。Here是对其工作原理的描述。我还找到了一个cloudflare-scrape使用外部JS评估引擎计算数量并将请求发送回服务器的Python模块。我不确定如何将它集成到Scrapy中尽管。或者也许有不使用JS执行

python - Scrapy .css 选择具有特定属性名称和值的元素

如何使用Scrapy来选择具有特定属性名称和值的元素的文本?例如,Montreal我尝试了以下但收到了Noneresponse.css('.span[property="city"]::text').extract_first() 最佳答案 你犯了一个小错误。您需要在'span'之前删除'.':In[6]:response.css('span[property="city"]::text').extract_first()Out[6]:u'Montreal' 关于python-Scrap

python - Scrapy:动态定义项目

当我开始学习scrapy时,我遇到了动态构建Item属性的需求。我只是在抓取一个具有表格结构的网页,我想在抓取时形成项目和字段属性。我已经完成了这个例子Scrapingdatawithouthavingtoexplicitlydefineeachfieldtobescraped但不能做太多。我是否应该编写项目流水线来动态捕获信息。我也看过Itemloader函数,但如果有人能详细解释,那将非常有帮助。 最佳答案 只需使用单个字段作为任意数据占位符。然后,当您想要取出数据时,不是说forfieldinitem,而是说forfieldi

python - scrapy 从脚本运行蜘蛛

我想从脚本而不是scrapcrawl运行我的蜘蛛我找到了这个页面http://doc.scrapy.org/en/latest/topics/practices.html但实际上它并没有说明该脚本放在哪里。有什么帮助吗? 最佳答案 简单明了:)只需检查officialdocumentation.我会做一点改变,这样你就可以控制蜘蛛只在你执行pythonmyscript.py时运行,而不是每次你只从它导入时运行。只需添加一个if__name__=="__main__":importscrapyfromscrapy.crawlerimp

离线(本地)数据的 Python Scrapy

我的电脑上有一个270MB的数据集(10000个html文件)。我可以使用Scrapy在本地爬取这个数据集吗?怎么办? 最佳答案 简单的HTTP服务器托管如果你真的想在本地托管它并使用scrapy,你可以通过导航到它存储的目录并运行SimpleHTTPServer(如下所示的端口8000)来提供它:python-mSimpleHTTPServer8000然后只需将scrapy指向127.0.0.1:8000$scrapycrawl127.0.0.1:8000文件://另一种方法是让scrapy直接指向文件集:$scrapycrawl