草庐IT

scrapy-splash

全部标签

python - Scrapy 和响应状态码 : how to check against it?

我正在使用scrapy抓取我的站点地图,以检查404、302和200个页面。但我似乎无法获得响应代码。到目前为止,这是我的代码:fromscrapy.contrib.spidersimportSitemapSpiderclassTothegoSitemapHomesSpider(SitemapSpider):name='tothego_homes_spider'##robecheciservonopertothego##sitemap_urls=[]ok_log_file='/opt/Workspace/myapp/crawler/valid_output/ok_homes'bad_l

python - Scrapy:ImportError:没有名为项目的模块

当我尝试运行scrapy时,我收到此错误ImportError:Nomodulenameditems我刚刚在items.py中添加了我想要抓取的内容列表,在spider.py中我已经使用fromspider.itemsimportSpiderItem导入了该类不知道为什么加载不出来...包装布局是..../spider./spider/pipelines.py./spider/settings.py./spider/spiders./spider/spiders/spider_spider.py./spider/spiders/test.py./spider/spiders/__ini

python - Scrapy:非阻塞暂停

我有问题。我需要停止执行一个函数一段时间,但不要停止整个解析的执行。也就是说,我需要一个非阻塞的暂停。看起来像:classScrapySpider(Spider):name='live_function'defstart_requests(self):yieldRequest('someurl',callback=self.non_stop_function)defnon_stop_function(self,response):forurlin['url1','url2','url3','moreurls']:yieldRequest(url,callback=self.second

python - 从 scrapy 导出 csv 文件(不是通过命令行)

我成功地尝试从命令行将我的项目导出到csv文件中,例如:scrapycrawlspiderName-ofilename.csv我的问题是:在代码中执行相同操作的最简单解决方案是什么?我需要这个,因为我从另一个文件中提取文件名。结束场景应该是,我称之为scrapycrawlspiderName并将项目写入filename.csv 最佳答案 为什么不使用项目管道?WriteToCsv.pyimportcsvfromYOUR_PROJECT_NAME_HEREimportsettingsdefwrite_to_csv(item):writ

python - 在scrapy中剥离\n\t\r

我正在尝试用爬虫蜘蛛去除\r\n\t字符,然后制作一个json文件。我有一个充满新行的“描述”对象,但它没有做我想做的事:将每个描述与标题匹配。我尝试使用map(unicode.strip())但它并没有真正起作用。作为scrapy的新手,我不知道是否有另一种更简单的方法或者mapunicode是如何工作的。这是我的代码:defparse(self,response):forselinresponse.xpath('//div[@class="d-grid-main"]'):item=xItem()item['TITLE']=sel.xpath('xpath').extract()it

python - 遇到第一个异常时,如何使scrapy crawl 中断并退出?

出于开发目的,我想在第一个异常(在蜘蛛或管道中)发生后立即停止所有抓取事件。有什么建议吗? 最佳答案 在蜘蛛中,你可以直接抛出CloseSpider异常(exception)。defparse_page(self,response):if'Bandwidthexceeded'inresponse.body:raiseCloseSpider('bandwidth_exceeded')对于其他(中间件、管道等),您可以手动调用close_spider正如阿赫特所说。 关于python-遇到第

Python Scrapy : Convert relative paths to absolute paths

我已经根据这里的伟人提供的解决方案修改了代码;我在这里得到代码下方显示的错误。fromscrapy.spiderimportBaseSpiderfromscrapy.selectorimportHtmlXPathSelectorfromscrapy.utils.responseimportget_base_urlfromscrapy.utils.urlimporturljoin_rfcfromdmoz2.itemsimportDmozItemclassDmozSpider(BaseSpider):name="namastecopy2"allowed_domains=["namastef

python - 如何强制scrapy抓取重复的url?

我在学习Scrapy一个网络爬虫框架。默认情况下,它不会抓取重复的url或scrapy已经抓取的url。如何让Scrapy抓取重复的url或者已经抓取过的url?我试图在互联网上查找,但找不到相关帮助。我发现DUPEFILTER_CLASS=RFPDupeFilter和SgmlLinkExtractor来自Scrapy-Spidercrawlsduplicateurls但这个问题与我正在寻找的相反 最佳答案 您可能正在寻找Request()上的dont_filter=True参数。见http://doc.scrapy.org/en/

python - 抑制管道后在日志中打印的 Scrapy Item

我有一个scrapy项目,其中最终进入我的管道的项目相对较大,并且存储了大量元数据和内容。一切都在我的蜘蛛和管道中正常工作。然而,当它离开管道时,日志会打印出整个scrapyItem(我相信):2013-01-1718:42:17-0600[tutorial]DEBUG:processingPipelinepipelinemodule2013-01-1718:42:17-0600[tutorial]DEBUG:Scrapedfrom{'attr1':'value1','attr2':'value2','attr3':'value3',...snip...'attrN':'valueN'

python - Scrapy:如何禁用或更改日志?

我关注了officialtutoralofScrapy,太棒了!我想从控制台输出中删除所有DEBUG消息。有什么办法吗?2013-06-0814:51:48+0000[scrapy]DEBUG:Telnetconsolelisteningon0.0.0.0:60292013-06-0814:51:48+0000[scrapy]DEBUG:Webservicelisteningon0.0.0.0:6086文档告诉要设置一个LOG_LEVEL,但是......在哪个文件中?回复,请引用这个目录结构。是我的。另外,我在spyder文件夹中有一个“test.py”tutorial/scrapy