关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion到目前为止,我一直在使用scrapy和编写自定义类来处理使用ajax的网站。但如果我使用scrapy-splash,据我所知,它会在javascript之后抓取呈现的html,我的爬虫速度会受到显着影响吗?用scrapy抓取vanillahtml页面与用scrapy-splash渲染html所花费的时间有什么区别?最后,scrapy-splash和Selenium相比如何?
我是Python和Scrapy的新手,正在学习Scrapy教程。我已经能够通过使用DOS界面并键入以下内容来创建我的项目:scrapystartprojectdmoz教程后面提到的Crawl命令:scrapycrawldmoz.org但每次我尝试运行它时,我都会收到一条消息,指出这不是一个合法的命令。进一步环顾四周,看起来我需要进入一个项目,而这正是我无法弄清楚的。我尝试将目录更改为我在startproject中创建的“dmoz”文件夹,但它根本无法识别Scrapy。我确定我遗漏了一些明显的东西,我希望有人能指出来。 最佳答案 您必
我想抓取一个只支持发布数据的网站。我想发送查询参数在所有请求的发布数据中。如何实现? 最佳答案 可以使用scrapy的Request发出POST请求或FormRequest类。另外,考虑使用start_requests()方法而不是start_urls属性。例子:fromscrapy.httpimportFormRequestclassmyspiderSpider(Spider):name="myspider"allowed_domains=["www.example.com"]defstart_requests(self):ret
我想我会请求很大的帮助,因为我几天都在为这个问题苦苦挣扎。我尝试了所有可能的(据我所知)方法,但仍然没有结果。我做错了什么,但仍然无法弄清楚它是什么。所以感谢每一位愿意参加这次冒险的人。首先要做的事情:我正在尝试使用POST方法将信息发布到delta.com上的表单与此网站一样,它很复杂,因为它们涉及session、cookie和Javascript,因此可能会出现问题。我正在使用在stackoverflow中找到的代码示例:UsingMultipartPostHandlertoPOSTform-datawithPython这是我为增量网页调整的代码。fromscrapy.select
这应该很容易,但我卡住了。LinkText2|LinkText3|LinkText4|LinkText5|LinkTextNext>我正在尝试使用Scrapy(Basespider)根据它的链接文本选择一个链接:nextPage=HtmlXPathSelector(response).select("//div[@class='paginationControl']/a/@href").re("(.+)*?Next")例如,我想根据它的文本是“LinkTextNext”这一事实来选择下一页链接。有什么想法吗? 最佳答案 使用a[co
我想从具有TextFields、Buttons等的网站上抓取数据。我的要求是填写文本字段并提交表单以获取结果,然后从结果页面抓取数据点。我想知道Scrapy是否有这个功能,或者是否有人可以推荐一个Python库来完成这个任务?(已编辑)我想从以下网站抓取数据:http://a836-acris.nyc.gov/DS/DocumentSearch/DocumentType我的要求是从ComboBoxes中选择值并点击搜索按钮并从结果页面中抓取数据点。附言我正在使用seleniumFirefox驱动程序从其他网站抓取数据,但该解决方案并不好,因为seleniumFirefox驱动程序依赖于
我正在尝试安装scrapy,它给出了以下错误:Downloading/unpackingcryptography>=0.2.1(frompyOpenSSL->Scrapy)Runningsetup.pyegg_infoforpackagecryptographyPackagelibffiwasnotfoundinthepkg-configsearchpath.Perhapsyoushouldaddthedirectorycontaining`libffi.pc'tothePKG_CONFIG_PATHenvironmentvariableNopackage'libffi'foundPa
这是我的简单代码,我没有让它工作。我是initspider的子类这是我的代码classMytestSpider(InitSpider):name='mytest'allowed_domains=['example.com']login_page='http://www.example.com'start_urls=["http://www.example.com/ist.php"]definit_request(self):#"""Thisfunctioniscalledbeforecrawlingstarts."""returnRequest(url=self.login_page,
我目前正在从事一个爬虫项目,这对于确保每个请求都得到正确处理非常重要,即记录错误或保存成功结果。我已经实现了基本的爬虫,我现在可以成功处理99%的请求,但是我可能会得到验证码、50x、30x之类的错误,甚至结果中没有足够的字段(然后我会尝试另一个网站来找到缺失的字段)。起初,我认为在解析回调中引发异常并在errback中处理它们更“合乎逻辑”,这可以使代码更具可读性。但是我试了才发现errback只能捕获下载器模块中的错误,比如非200响应状态。如果我在回调中引发一个自行实现的ParseError,蜘蛛只会引发并停止。即使我必须直接在回调中处理解析请求,我也不知道如何以干净的方式在回调
我想从Python模块在Scrapy中启动一个爬虫。我想从本质上模仿$scrapycrawlmy_crawler-asome_arg=value-LDEBUG的本质我准备好了以下东西:项目的settings.py文件项目和管道一个爬虫类,它扩展了BaseSpider并在初始化时需要参数。我可以很高兴地使用上面指定的scrapy命令运行我的项目,但是我正在编写集成测试并且我想以编程方式:使用settings.py中的设置和具有my_crawlername属性的爬虫启动爬虫(我可以从我的测试模块轻松实例化此类。我希望按照settings.py中的规范使用所有管道和中间件。我很高兴在爬虫完成