草庐IT

scrapy-splash

全部标签

python - Scrapy:下载器/response_count 与 response_received_count

我正在使用scrapy爬取多个网站,想分析爬取率。最后转储的统计信息包含一个downloader/response_count值和一个response_received_count值。前者在系统上大于后者。为什么会有差异,爬虫的哪个元素会增加统计信息收集器中的两个值? 最佳答案 CoreStats是Extension负责response_received_countDownloaderStats是Middleware负责downloader/response_count.CoreStats分机正在连接signals.response

python - Scrapy CrawlSpider : how to access item across different levels of parsing

我正在抓取一个网站(只有两层深度),我想从两层的网站中抓取信息。我遇到的问题是,我想用两个级别的信息填写一个项目的字段。我该怎么做?我正在考虑将一个项目列表作为一个实例变量,所有线程都可以访问它(因为它是蜘蛛的同一个实例),parse_1将填写一些字段,parse_2将必须检查正确的填写相应值之前的键。这种方法看起来很繁琐,我仍然不确定如何使它起作用。我在想一定有更好的方法,也许可以通过某种方式将项目传递给回调。不过,我不知道如何使用Request()方法来做到这一点。想法? 最佳答案 来自scrapy文档:在某些情况下,您可能有兴

python - 如何在python中的scrapy中启用cookiemiddleware

在他们的文档中http://doc.scrapy.org/en/latest/topics/downloader-middleware.html#cookies-mw他们告诉我启用cookiemiddle,但我无法找到如何做到这一点以及为此编辑哪个文件。谁能告诉我我该怎么做 最佳答案 更新cookie似乎默认位于中间件中,因此只需COOKIES_ENABLED=True就足够了。如果中间件不是默认设置的一部分,则只需要以下内容...据我从doc.scrapy.org/en/latest/topics/downloader-middl

python - 使用scrapy分页

我正在尝试抓取此网站:http://www.aido.com/eshop/cl_2-c_189-p_185/stationery/pens.html我可以得到这个页面的所有产品,但是如何发出页面底部“查看更多”链接的请求?到目前为止我的代码是:rules=(Rule(SgmlLinkExtractor(restrict_xpaths='//li[@class="normalLeft"]/div/a',unique=True)),Rule(SgmlLinkExtractor(restrict_xpaths='//div[@id="topParentChilds"]/div/div[@cl

python - 如何为通过 socksipy 发出请求的 scrapy 编写 DownloadHandler?

我正在尝试在Tor上使用scrapy。我一直在努力思考如何为使用socksipy连接的scrapy编写DownloadHandler。Scrapy的HTTP11DownloadHandler在这里:https://github.com/scrapy/scrapy/blob/master/scrapy/core/downloader/handlers/http11.py以下是创建自定义下载处理程序的示例:https://github.com/scrapinghub/scrapyjs/blob/master/scrapyjs/dhandler.py这是创建SocksiPyConnectio

python - Scrapy:将参数传递给 cmdline.execute()

我知道从命令行运行scrapy蜘蛛时如何传递参数。但是,当我尝试使用scrapy的cmdline.execute()从脚本以编程方式运行它时遇到问题。我需要传递的参数是我之前格式化为字符串的列表,就像这样:numbers="one,two,three,four,five"colors="red,blue,black,yellow,pink"cmdline.execute('scrapycrawlmyspider-aarg1='+numbers+'-aarg2='+colors)蜘蛛是...classMySpider(Spider):name="myS"def__init__(self,

python - 如何将多个参数传递给 Scrapy 蜘蛛(不再支持使用多个蜘蛛运行 'scrapy crawl' 时出错)?

我想将多个用户定义的参数传递给我的scrapyspyder,所以我试着关注这篇文章:Howtopassauserdefinedargumentinscrapyspider但是,当我遵循那里的建议时,我得到了一个错误:root@scrapycrawldmoz-aaddress=40-1848thst-aborough=4Usage=====scrapycrawl[options]crawl:error:running'scrapycrawl'withmorethanonespiderisnolongersupported我还尝试了引号的各种排列:root@scrapycrawldmoz-

python - 如何访问 Scrapy CrawlSpider 中的特定 start_url?

我正在使用Scrapy,特别是Scrapy的CrawlSpider类来抓取包含某些关键字的Web链接。我有一个很长的start_urls从连接到Django项目的SQLite数据库中获取其条目的列表。我想将抓取的Web链接保存在此数据库中。我有两个Django模型,一个用于启动url,例如http://example.com一个用于抓取的网络链接,例如http://example.com/website1,http://example.com/website2等等。所有抓取的Web链接都是start_urls中起始网址之一的子站点。列表。网络链接模型与起始url模型具有多对一关系,即网

python - 对从 Python 脚本中运行 Scrapy 感到困惑

正在关注document,我可以从Python脚本运行scrapy,但我无法获得scrapy结果。这是我的蜘蛛:fromscrapy.spiderimportBaseSpiderfromscrapy.selectorimportHtmlXPathSelectorfromitemsimportDmozItemclassDmozSpider(BaseSpider):name="douban"allowed_domains=["example.com"]start_urls=["http://www.example.com/group/xxx/discussion"]defparse(sel

python - 为什么 scrapy 在尝试抓取和解析网站时会为我抛出错误?

下面的代码classSiteSpider(BaseSpider):name="some_site.com"allowed_domains=["some_site.com"]start_urls=["some_site.com/something/another/PRODUCT-CATEGORY1_10652_-1__85667",]rules=(Rule(SgmlLinkExtractor(allow=('some_site.com/something/another/PRODUCT-CATEGORY_(.*)',))),#Extractlinksmatching'item.php'a