草庐IT

python - 将 Scrapy 代理中间件设置为根据每个请求轮换

这个问题必然有两种形式,因为我不知道更好的解决方案。我正在爬行的网站经常将我踢到重定向的“用户被阻止”页面,但频率(按请求/时间)似乎是随机的,而且它们似乎有一个黑名单阻止了我的许多“开放”代理列表通过Proxymesh使用。所以……当Scrapy收到对其请求的“重定向”时(例如DEBUG:从(GEThttp://.../page-544.htm)),它是继续尝试访问page-544.htm,还是继续访问page-545.htm并永远丢失page-544.htm?如果它“忘记”(或将其计为已访问),是否有办法告诉它继续重试该页面?(如果它自然而然地这样做,那么是的,很高兴知道...)什

python - 如何从 scrapy 响应中获取 cookie 并将 cookie 设置为下一个请求?

我已经禁用了默认的Scrapycookie选项,所以我必须手动设置它。COOKIES_ENABLED=FalseCOOKIES_DEBUG=True现在,我需要使用作为同一站点的响应接收到的值来设置cookie。我可以获得如下cookie,cookie=response.headers.getlist('Set-Cookie')[0].split(";")[0].split("=")现在我正在尝试将其设置为表单请求FormRequest.from_response(response,formdata={"username":"asldkfs","pass":"slskd"},cooki

python - Ruby 替代 Scrapy?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。有哪些基于Ruby的工具可以帮助我实现类似于Scrapy为python所做的事情?http://doc.scrapy.org/intro/overview.html

python - 了解 Scrapy 中的回调

我是Python和Scrapy的新手。我以前没有使用过回调函数。但是,我现在为下面的代码做。第一个请求将被执行,其响应将被发送到定义为第二个参数的回调函数:defparse_page1(self,response):item=MyItem()item['main_url']=response.urlrequest=Request("http://www.example.com/some_page.html",callback=self.parse_page2)request.meta['item']=itemreturnrequestdefparse_page2(self,respon

python - 为什么我的 Scrapy CrawlSpider 规则不起作用?

我已经成功地使用Scrapy编写了一个非常简单的爬虫,具有这些给定的约束:存储所有链接信息(例如:anchor文本、页面标题),因此有2个回调使用CrawlSpider来利用规则,因此没有BaseSpider它运行良好,除了如果我向第一个请求添加回调它不会执行规则!这是我的代码:(有效但不正确,有一个实例)fromscrapy.contrib.spidersimportCrawlSpider,Rulefromscrapy.selectorimportHtmlXPathSelectorfromscrapy.httpimportRequestfromscrapySpider.itemsim

python - Scrapy并发策略

扩展Scrapy的更好方法是什么?通过运行一个scrapy进程并增加CONCURRENT_REQUESTS内部Scrapy设置通过运行多个scrapy进程,但仍专注于增加内部设置。通过增加scrapy进程的数量以及内部设置的一些常量值。如果是3-那么什么软件更适合用于启动多个scrapy进程?在多个服务器上分发scrapy的最佳方式是什么? 最佳答案 Scrapyd是管理Scrapy进程的好工具。但我能给出的最佳答案是视情况而定。首先,您需要弄清楚瓶颈在哪里。如果是CPU密集型解析,应该使用多进程。通过Twisted对Reactor

python - scrapy 爬虫抓取实例数据异常

刚接触python,想用scrapy搭建一个网络爬虫。我浏览了http://blog.siliconstraits.vn/building-web-crawler-scrapy/中的教程.蜘蛛代码如下:fromscrapy.spiderimportBaseSpiderfromscrapy.selectorimportHtmlXPathSelectorfromnettuts.itemsimportNettutsItemfromscrapy.httpimportRequestclassMySpider(BaseSpider):name="nettuts"allowed_domains=["

python - scrapy 能同时产生请求和元素吗?

当我编写parse()函数时,我可以为一个页面同时生成请求和项目吗?我想在A页面中提取一些数据,然后将数据存储到数据库中,并提取要访问的链接(这可以通过CrawlSpider中的规则来完成)。我把A页的链接页称为B页,所以我可以再写一个parse_item()从B页中提取数据,但是我想提取B页中的一些链接,所以只能用rule提取链接?如何处理Scrapy中的重复URL? 最佳答案 是的,您可以同时产生请求和元素。来自whatI'veseen:defparse(self,response):hxs=HtmlXPathSelector(

python - 在使用 Scrapy 进行身份验证的同时抓取 LinkedIn

所以我通读了CrawlingwithanauthenticatedsessioninScrapy我被挂断了,我99%确定我的解析代码是正确的,我只是不相信登录正在重定向并成功。我也遇到了check_login_response()的问题,不确定它正在检查哪个页面。虽然“注销”是有意义的。======已更新======fromscrapy.contrib.spiders.initimportInitSpiderfromscrapy.httpimportRequest,FormRequestfromscrapy.contrib.linkextractors.sgmlimportSgmlLi

python - 运行多个 Scrapy 蜘蛛(最简单的方法)Python

Scrapy非常酷,但是我发现文档非常简单,一些简单的问题很难回答。在将来自各种stackoverflow的各种技术组合在一起之后,我终于想出了一种简单且不过于技术性的方式来运行多个scrapy蜘蛛。我想它的技术性不如尝试实现scrapyd等:所以这里有一个爬虫可以很好地完成它的一项工作,即在表单请求之后抓取一些数据:fromscrapy.spiderimportBaseSpiderfromscrapy.selectorimportSelectorfromscrapy.httpimportRequestfromscrapy.httpimportFormRequestfromswim.i