
登录Scrapy
我在登录scrapy时遇到了麻烦,并且我能找到的大多数内容都已过时。我已经LOG_FILE="log.txt"在settings.py文件中设置了文件,并从文档中设置了文件,它应该可以工作:Scrapy在每个Spider实例中都提供了一个记录器,可以通过以下方式对其进行访问和使用:import scrapyclass MySpider(scrapy.Spider): name = 'myspider'...
2024-01-10
scrapy管道类的访问实例
我想访问变量self.cursor以利用活动的postgreSQL连接,但我无法弄清楚如何访问scrapy的管道类实例。scrapy管道类的访问实例class ScrapenewsPipeline(object): def open_spider(self, spider): self.connection = psycopg2.connect( host= os.environ['HOST_NAME'], user=os.environ['USERNAME'], ...
2024-01-10
scrapy-解析分页的项目
我有一个形式的网址:example.com/foo/bar/page_1.html总共有53页,每页约20行。我基本上想从所有页面中获取所有行,即〜53 * 20个项目。我的parse方法中有有效的代码,该代码分析单个页面,每个项目也深入一页,以获取有关该项目的更多信息: def parse(self, response): hxs = HtmlXPathSelector(response) restaura...
2024-01-10
使用Tor代理与scrapy
我需要在Ubuntu中设置Tor并在scrapy框架中使用它的帮助。我做了一些研究,找到了本指南:class RetryChangeProxyMiddleware(RetryMiddleware): def _retry(self, request, reason, spider): log.msg('Changing proxy') tn = telnetlib.Telnet('127.0.0.1', 9051) tn.read_until("Escape ...
2024-01-10
Scrapy:存储数据
我是python和scrapy的新手。我打算遵循Scrapy教程,但是我不了解存储步骤的逻辑。scrapy crawl spidername -o items.json -t jsonscrapy crawl spidername --set FEED_URI=output.csv --set FEED_FORMAT=csv 我不了解的含义:-o-t–set谢谢你的帮助回答:你可以通过scrapy crawl -h在项目目录中键入来查看可用命令的列表。scrapy crawl spi...
2024-01-10
如何禁用scrapy中的缓存?
我正在尝试在特定网站上抓取网页。该网页因我发送的不同Cookie的设置而有所不同scrapy.Request()。如果我一一请求到网页,它给我正确的结果,但是当我在for循环中发送这些cookie时,它给了我相同的结果。我认为scrapy正在为我创建缓存,并在第二个请求中从缓存中获取响应。这是我的代码:def start_reques...
2024-01-10
单击Scrapy中的按钮
我正在使用Scrapy爬行网页。单击某些按钮时,仅会弹出一些我需要的信息(当然,单击后也会显示在HTML代码中)。我发现Scrapy可以处理的形式(如登录)如图所示这里。但是问题在于没有表格可以填写,所以这不是我所需要的。如何简单地单击一个按钮,然后显示我需要的信息?我是否必须使用诸如...
2024-01-10
了解Scrapy中的回调
我是Python和Scrapy的新手。我以前没有使用过回调函数。但是,我现在为下面的代码做。将执行第一个请求,并将其响应发送到定义为第二个参数的回调函数:def parse_page1(self, response): item = MyItem() item['main_url'] = response.url request = Request("http://www.example.com/some_page.html", callback=...
2024-01-10
scrapy如何设置引荐来源网址
我需要设置引荐来源网址,然后再抓取网站,该网站使用基于引用网址的身份验证,因此如果引荐来源无效,则不允许我登录。有人可以告诉我如何在Scrapy中执行此操作吗?回答:如果你想在Spider的请求中更改引荐来源网址,则可以DEFAULT_REQUEST_HEADERS在settings.py文件中进行更改:DEFAULT_REQUEST_HEADERS = { ...
2024-01-10
Get scrapy抓取整个网站
我正在使用scrapy来爬行我拥有的旧站点,我将下面的代码用作我的spider。我不介意为每个网页或其中包含所有内容的数据库输出文件。但是我确实需要能够使Spider抓取整个内容,而不必输入我当前必须执行的每个网址import scrapyclass DmozSpider(scrapy.Spider): name = "dmoz" allowed_domains = ["www.example.com"] st...
2024-01-10
scrapy不打印出异常堆栈跟踪
是否有一种特殊的机制来强制scrapy打印出所有python异常/堆栈跟踪。我犯了一个简单的错误,即弄错了一个列表属性,导致AttributeError出现,该错误未在日志中完整显示:2019-11-15 22:13:50 [scrapy] INFO: Dumping Scrapy stats:{'downloader/request_bytes': 264, 'downloader/request_count': 1, 'downloader/request_method_count/GET': 1, '...
2024-01-10
从脚本运行scrapy,不包括管道
我正在通过脚本运行scrapy,但它所做的只是激活spider。它不会通过我的商品渠道。我已经阅读了http://scrapy.readthedocs.org/en/latest/topics/practices.html,但是它并没有说明包括管道。我的设置:Scraper/ scrapy.cfg ScrapyScript.py Scraper/ __init__.py items.py pipelines.py settings.p...
2024-01-10
如何整合Flask&Scrapy?
我正在使用scrapy来获取数据,并且我想使用flask网络框架在网页中显示结果。但是我不知道如何在烧瓶应用程序中调用蜘蛛。我试图用它CrawlerProcess来称呼我的蜘蛛,但出现了这样的错误:ValueErrorValueError: signal only works in main threadTraceback (most recent call last)File "/Library/Python/2.7/site-packages/flask/app.py", line 1...
2024-01-10
创建管道来保存scrapy文件吗?
我需要保存一个文件(.pdf),但不确定如何执行。我需要保存.pdfs并以某种方式将它们存储在一个目录中,就像它们存储在我要删除的站点上一样。从我可以收集的信息来看,我需要建立一个管道,但是据我所知,管道保存的“ Items”和“ items”只是诸如字符串/数字之类的基本数据。保存文件是对管...
2024-01-10
如何使用scrapy爬行多个页面?
我在Scrapy上找到的所有示例都在谈论如何抓取单个页面,具有相同url模式的页面或网站的所有页面。我需要抓取一系列页面A,B,C,其中在A中你具有到B的链接,依此类推。例如,网站结构为:A----> B---------> CDE我需要爬网所有C页面,但是要获取到C的链接,我需要在A和B之前进行爬网。有什么提示...
2024-01-10
如何处理302重定向中的scrapy
抓取网站时,我从服务器收到302响应:2019-04-01 21:31:51+0200 [ahrefs-h] DEBUG: Redirecting (302) to <GET http://www.domain.com/Site_Abuse/DeadEnd.htm> from <GET http://domain.com/wps/showmodel.asp?Type=15&make=damc&a=664&b=51&c=0>我想将请求发送到GET网址,而不是被重定向。现在我找到了这个中间件:https://g...
2024-01-10
在Cron工作中Scrapy
想从cron工作中执行我的爬虫。我创建bash文件getdata.sh,其中scrapy项目位于它的Spiders中#!/bin/bashcd /myfolder/crawlers/scrapy crawl my_spider_name我的crontab看起来像这样,我想每5分钟执行一次 */5 * * * * sh /myfolder/crawlers/getdata.sh 但这没用,怎么了,我的错误在哪里?当我从终端sh /myfolder/crawlers/getdata.sh执行我的...
2024-01-10
Scrapy-从表中提取项目
试图绕过Scrapy,但遇到了一些死胡同。我在页面上有2个表,并希望从每个表中提取数据,然后移至下一页。表格看起来像这样(第一个称为Y1,第二个称为Y2),并且结构相同。<div id="Y1" style="margin-bottom: 0px; margin-top: 15px;"> <h2>First information</h2><hr style="margin-top: 5px; margin-bottom: 10p...
2024-01-10
如何获取scrapy队列中的请求数?
我scrapy用来抓取一些网站。如何获取队列中的请求数?我查看了scrapy源代码,发现scrapy.core.scheduler.Scheduler可能导致我的答案。两个问题:如何访问我的Spider类中的调度程序?在调度程序类中,self.dqs和self.mqs是什么意思?回答:这花了我一段时间才能弄清楚,但这是我使用的:self.crawler.engine.slot.s...
2024-01-10
在Scrapy中发送发帖请求
我正在尝试从Google Play商店抓取最新评论,并得到我需要发出发帖请求的信息。有了邮递员,我收到了满意的回复。但是终端中的发布请求给了我一个服务器错误curl -H "Content-Type: application/json" -X POST -d '{"id": "com.supercell.boombeach", "reviewType": '0', "reviewSortOrder": '0', "pageNum":'0'}' https://play.google.com/store/ge...
2024-01-10
scrapy-如何停止重定向(302)
我正在尝试使用Scrapy抓取网址。但这会将我重定向到不存在的页面。Redirecting (302) to <GET http://www.shop.inonit.in/mobile/Products/Inonit-Home-Decor--Knick-Knacks-Cushions/Shor-Sharaba/Andaz-Apna-Apna-Cushion-Cover/1275197> from <GET http://www.shop.inonit.in/Products/Inonit-Home-Deco...
2024-01-10
如何强制scrapy爬行重复的URL?
我正在学习Scrapy一个Web爬网框架。默认情况下,它不会抓取重复的网址或scrapy已经抓取的网址。如何使Scrapy抓取重复的URL或已经抓取的URL?我尝试在Internet上查找,但找不到相关的帮助。我发现DUPEFILTER_CLASS = RFPDupeFilter和SgmlLinkExtractor自Scrapy-蜘蛛抓取重复网址,但这个问题是相反的我在寻找什么回答...
2024-01-10
crapy管道以正确的格式导出csv文件
从前,我偶然发现了这个问题。如果您使用的是macOS,请转至Macintosh HD>应用程序> Python3.6文件夹(或您使用的任何Python版本)>双击“ Install Certificates.command”文件。我根据下面alexce的建议进行了改进。我需要的是下面的图片。但是,每一行/每一行都应该是一个评论:带有日期,评分,评论文字和链接。...
2024-01-10
scrapy中的每个请求之间如何给延迟?
我不想同时爬行并被阻止。我想每秒发送一个请求。回答:DOWNLOAD_DELAY默认: 0从同一网站下载连续页面之前,下载程序应等待的时间(以秒为单位)。这可以用来限制爬网速度,以避免对服务器造成太大的冲击。DOWNLOAD_DELAY = 0.25 # 250 ms of delay...
2024-01-10
Scrapy暂停/恢复如何工作?
可以向我解释暂停/继续功能的Scrapy工作原理吗?scrapy我正在使用的版本是0.24.5该文档没有提供太多细节。我有以下简单的spider:class SampleSpider(Spider):name = 'sample'def start_requests(self): yield Request(url='https://colostate.textbookrack.com/listingDetails?lst_id=1053') yield Request(url=...
2024-01-10
