Scrapy 在飞溅和刮擦中自动将页面向下滚动

我正在抓取一个网站,该网站对产品图像使用延迟加载 出于这个原因,我加入了scrapy splash,这样javascript也可以用splash呈现,我可以提供一个wait参数。之前我有一个想法,那就是因为rawscrapy.Request返回的是占位符图像,而不是原始图像 我也尝试过将参数设置为29.0秒,但我的爬虫程序几乎没有得到10个项目(根据计算,它应该会带来280个项目)。我有一个item pipleline,它检查项目中的图像是否为空,因此我升起DropItem 我不确定,但我也注意

scrapy downloadmiddleware无法计划来自进程\u响应的请求

我想将响应代码为423的请求推送回调度程序,因此我创建了一个下载中间件: class MyMiddleware(object): def process_response(self, request, response, spider): if response.status == 423: return request else: return response 但它不工作,甚至请求也不再在调度程序中 谢

Scrapy 智能爬虫,可以根据关键字对源进行优先级排序?

我正在尝试创建一个webcrawler,它不断地在web上爬行,寻找包含特定关键字的网页。这方面有很多开源解决方案(Nutch、Scrapy等),但我需要一个智能的解决方案,可以优先考虑“丰富”的源代码 我希望机器人从某个页面开始,例如,提取所有链接并继续抓取它们。现在,如果页面包含某个关键字,例如“foo”,它应该将此url发送到数据库 现在,困难的部分来了。如果我创建并运行这样一个机器人,它可能需要很长时间蜘蛛才能找到包含指定关键字的新页面,因为它正在抓取整个web。如果爬行器能够识别出它经

未为特定域调用scrapy parse_项

我试着用刮痧来爬鞋。但不知何故,parse_项没有被调用。我试着和其他网站使用相同的代码,效果很好。完全不知道出了什么问题。任何帮助都将非常感谢!谢谢 import scrapy from scrapy import log from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.contrib.linkextractors import LinkExtractor from lsspider.items import *

Scrapy 我如何开始运行portia spider?

来自的给定语法 我试着跑步 portiacrawl D:/portia-master/slyd/data/projects/darkwoods example portiacrawl slyd/data/projects/darkwoods example portiacrawl slyd/data/projects/darkwoods 但他们给了我同样的帮助信息 Usage: portiacrawl <project dir/project zip> [spider] [opti

Scrapy 我的蜘蛛怎么了?

我想使用爬网蜘蛛和我实现的规则爬网到所有网页,但无法通过规则提取数据不知道为什么 import scrapy from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.selector import Selector from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor from urlparse import urljoin from delhiv

Scrapy 宽刮爬网通过规则将参数(每个请求的值不同)传递给回调

我花了很多时间在谷歌上玩,但我无法解决我的问题 下面的代码正在运行,但我想将参数/参数传递到解析项。我怎样才能用规则做到这一点 from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor import mysql.connector from scrapy.http import Request class FirstSp

Scrapy-从图像url列表下载图像

Scrapy有助于下载图像。过程是 Spider:启动一个链接并解析响应中的所有图像URL,然后保存 项目的图像URL ImagesPipeline:items['image_URL']由ImagesPipeline处理 但是,如果我不需要spider部件,并且有100k个图像URL可以下载,例如从redis读取URL,我如何直接调用ImagePipeline来下载图像 我知道我可以简单地在spider中发出请求并保存响应,但我想看看是否有办法使用默认的ImagesPipeline直接保存图像。

Scrapy 刮擦连接不同的项目,以提高产量

我在一个新闻网站。每一条新闻都有内容和许多评论。我有两个项目,一个用于内容,另一个用于多个评论。 问题是内容和多个注释会产生不同的请求。我希望新闻的内容和它的多个评论能够一起或作为一个评论产生或返回。管道时间或顺序对我来说并不重要 在项目文件中: class NewsPageItem(scrapy.Item): title = scrapy.Field() date = scrapy.Field() hour = scrapy.Field() image = sc

Scrapy Python剪贴错误。运行';搔痒爬行';不再支持使用多个spider

我用Scrapy Python编写了一个脚本,几个月来一直运行良好(没有任何更改)。最近,当我在Windows Powershell中执行脚本时,它会引发下一个错误: scrapy crawl spider –o 'filename.csv' –t 'csv' 我想知道是什么问题 提前感谢。不使用-t运行命令,这是基于预定义模板生成新spider的快捷方式: scrapy genspider [-t template] <name> <domain> scrapy

Scrapy 通过URL将数据导出到文件';路径

当我从HTML页面导出数据时,如何更改scrapy的sorce代码,以便通过URL保存文件 例如: 此页面(http://example/big/ppp)有很多页面链接 http://example/big/ppp/a http://example/big/ppp/b http://example/big/ppp/c 我想从中保存数据 http://example/big/ppp/a在d:/ppp/a.csv中 http://example/big/ppp/b在d:/ppp/b.csv中 ht

Scrapy请求url来自哪个url响应

对于Scrapy,我们可以得到response.url、response.request.url,但是我们如何知道response.url、response.request.url是从哪个父url提取的呢 谢谢,, Ken您可以使用它来跟踪这些信息 当您给出请求时,在meta中包括response.url: yield response.follow(link,…,meta={'source\u url':response.url}) 然后阅读您的解析方法: source\u url=resp

具有许多重复元素类名的Scrapy crawl web

我对Scrapy还不熟悉,并尝试爬网,但是HTML元素由许多具有重复类名的DIV组成,例如 <section class= "pi-item pi-smart-group pi-border-color"> <section class="pi-smart-group-head"> <h3 class = "pi-smart-data-label pi-data-label pi-secondary-fon

Scrapy 让一个蜘蛛使用从另一个蜘蛛返回的物品?

因此,我编写了一个spider,它从网页中提取某些所需的链接,并将URL、链接文本和标记本身不一定包含的其他信息放入每个链接的项目中 我应该如何将此项目传递到另一个爬虫上,该爬虫会刮取该项目中提供的URL?这个问题已经被问过很多次了。 下面是这个网站上回答你问题的一些链接。 有些方法会直接将项传递给另一个函数,但您可能会意识到不需要这样做,因此其他方法会链接以显示可能的结果 这些都没有实际使用2个蜘蛛。如果第一个找到了指向CSV的链接,第二个应该解析它们,我想使用CSVSpider来实现这一

Scrapy 刮擦管道装载,但不';行不通

我有一个粗糙的项目,它加载管道,但不将项目传递给管道。感谢您的帮助 spider的精简版: #导入 类MySpider(爬行蜘蛛): #规则和东西 def解析_项(自身、响应): ''获取HTML响应并将其转换为一个可供数据库使用的项目。我希望如此。 ''' #很多代码 退货项目 此时,打印出项目会产生预期的结果,settings.py非常简单: ITEM\u管道=[ 'mySpider.pipelines.MySpiderPipeline', “mySpider.pipelines.Pipe

scrapy在PyPy上抛出发送\u捕获\u日志\u延迟异常

当我在PyPy上使用scrapy shell时,会抛出一些执行选项,那么这是什么错误呢? 这是错误信息 % /usr/local/share/pypy/scrapy shell http://www.baidu.com zsh: correct 'shell' to 'shells' [nyae]? n 2012-11-09 16:40:06+0800 [scrapy] INFO: Scrapy 0.16.1 started (bot: scra

Scrapy 刮皮不';不要爬过这一页

我想抓取一个页面http://www.jcvi.org/charprotdb/index.cgi/l_search?terms.1.field=all&terms.1.search_text=cancer&submit=+++搜索+++&sort.key=organism&sort.order=%2B按scrapy排序。但似乎有一个问题,我没有得到任何数据时,爬行它 这是我的蜘蛛代码: import scrapy from scrapy.selector import Selector from

Scrapy 在完成Lua脚本之前启动获取html

我有一个具有强大ajax分页功能的网页(只用于下一页的按钮)。 要转到第5页,脚本应按按钮Next5次。 但在脚本点击后,当前页面的数据将丢失 可以将html内容从Lua脚本返回到scrapy,然后继续运行脚本 现在我用坏方法。我在Lua脚本中合并每个页面的html代码,在最后一页之后返回它。但是我认为这不好。你能给出你想要爬网的URL吗?也许手动发送每个页面的请求比“单击”页面更容易。但问题是那个网站只允许从沙特阿拉伯访问。是的,我不能访问它。我仍然建议手动生成请求,这在IMO中是干净和简单的

Scrapy突然停止工作,出现错误

Scrapy 1.4.0在3天前停止工作,在那之前它还可以正常爬行。我什么也没改 错误是: Traceback (most recent call last): File "/usr/bin/scrapy", line 7, in <module> from scrapy.cmdline import execute File "/usr/lib64/python2.7/site-packages/scrapy/cmdline.py", line 6, in <

scrapy splash可以忽略504 HTTP状态吗?

我想放弃javascript加载网页,所以我使用scrapy splash,但有些页面加载时间太长 像这样: 我认为[processUser..]会使速度变慢 有没有办法忽略这504页?因为当我将超时设置为小于90时,会在scrapy shell或Spider中导致504网关错误 当我设置的时间结束时,可以得到结果html代码(只得到200) 使用Splash渲染网页时,基本上是使用web浏览器 当您要求Splash渲染时: 飞溅到 Splash执行所有javascript 2.1 javas

Scrapy FormRequest无法处理信用卡登录表单

我无法让刮擦蜘蛛抓取我的发现帐户页面 我是个新手。我已经阅读了所有相关文档,但似乎无法正确提交表单请求。我添加了formname、userID和密码 import scrapy class DiscoverSpider(scrapy.Spider): name = "Discover" start_urls = ['https://www.discover.com'] def parse(self, response): return scrapy.F

Scrapy Spider工作正常,但没有';不要勉强获得一些结果

它工作正常,大约有208个产品信息,但是对于一些产品细节,它没有给出结果,我已经在scrapy shell中单独执行了这些产品链接,工作正常,但是为什么它遗漏了25%的产品细节 我尝试了旋转用户代理,应用了不同的XPath,但没有成功 import scrapy from scrapy.spiders import CrawlSpider, Rule from ..items import AmazonItem import time from scrapy.linkextractors imp

为什么从pywikibot调用scrapy spider会产生ReactorNotRestartable错误?

我可以使用CrawlerRunner或CrawlerProcess从另一个Python脚本调用scrapy spider。但是,当我试图从pywikibot机器人调用同一个spider调用类时,我得到了一个ReactorNotRestartable错误。这是为什么?我如何修复它 以下是错误: 文件“\scripts\userscripts\ReplicationWiki\RWLoad.py”,第161行,格式为“新建”页面 aea=AEAMetadata(url=DOI_url) 文件“\scr

Scrapyd:无活动项目-如何使用Scrapyd安排蜘蛛

我正试图在ScrapyD1.2的帮助下计划一个Scrapy2.1.0蜘蛛 curl --insecure http://localhost:6800/schedule.json -d project=bid -d spider=test 理论上,这将在项目投标中启动爬行测试。相反,它会输出错误消息: {"node_name": "spider1", "status": "error", "message": "Scrapy 2.1.0 - no active project\n\nUnkn

如何使用scrapy对网站中的所有项目进行爬网

我想使用递归来抓取网站中的所有链接。并解析所有链接页面,以提取链接页面中的所有详细链接。 如果页面链接符合规则,则页面链接是我要分析详细信息的项目。 我使用以下代码: class DmovieSpider(BaseSpider): name = "dmovie" allowed_domains = ["movie.douban.com"] start_urls = ['http://movie.douban.com/'] def parse(self, respo

Scrapy 继续跑

我在debian机器上安装了scrapy和scrapyd。我使用ssh隧道登录到此服务器。然后,我开始说: 斯帕雷德 Scrapyd启动正常,然后我打开另一个到服务器的ssh隧道,并通过以下方式安排我的爬行器: curl localhost:6800/schedule.json-d project=myproject-d spider=myspider 蜘蛛跑得很好,一切都很好 问题是,当我退出启动scrapyd的会话时,scrapyd停止运行。这使我无法使用cron来使用scrapyd对爬行器

Scrapy 我找不到项目名称

我试图在scrapyd上运行现有的scrapy项目时出错 我有一个正在工作的scrapy项目(url_finder)和一个用于测试目的的正在工作的spider项目(test_ip_spider_1x),它只是下载whatismyip.com 我成功地安装了scrapyd(使用apt get),现在我想在scrapyd上运行spider。所以我执行: curl http://localhost:6800/schedule.json -d project=url_finder -d spider=t

在Scrapy中设置开始URL的自定义长列表

爬网从start\u url=[] 我需要这些起始URL的长列表和解决此问题的两种方法: 方法1:使用pandas定义起始URL数组 #Array of Keywords keywords = pandas.Keyword urls = {} count = 0 while(count < 100): urls[count]='google.com?q=' + keywords[count] count = count + 1 #Now I have the star

Scrapy:如何获取URL列表并在之后循环它们

我不熟悉python和scrapy,看了一些udemy和youtube教程,现在尝试我自己的第一个示例。如果有下一个按钮,我知道如何循环。但就我而言,没有 以下是我的代码,处理其中一个url,但以后需要更改起始url: class Heroes1JobSpider(scrapy.Spider): name = 'heroes1_job' # where to extract allowed_domains = ['icy-veins.com'] start_urls = ['https://w

Scrapy Splash返回空列表

我试图用刮擦和飞溅来刮取衣服的图像和一些产品信息。 我想得到的形象,只有产品(所以没有模型)。 从 但是,如果我试图用 xpath('//figure[contains(@class,“secondary”)]///img//@src').extract() 返回一个空列表 有人知道我如何获得这些次映像的src吗 提前谢谢 检查response.xpath('//script[包含(text(),“productArticleDetails=“)]/text()')中的json。它包含页面上关于

Scrapy Scrapinghub部署失败

我正在尝试将一个项目部署到scrapinghub,下面是我得到的错误 slackclient 1.3.2 has requirement websocket-client<0.55.0,>=0.35, but you have websocket-client 0.57.0. Warning: Pip checks failed, please fix the conflicts. WARNING: There're some errors when doing pip-check:

用Scrapy浏览所有高尔夫球场页面

我正试图使用以下目录获取世界上所有高尔夫球场的高尔夫球场详细信息: 当我编写parse函数来获取实际课程时: def parse_filter_course(self, response): # checking if it is an actual course page. excluded it for final ran, didnt fully # exists = response.css('.CoursePageSidebar-ma

Scrapy 添加外部库

如何将外部库添加到Scrapy。我想将以下库添加到Scrapy: https://github.com/scrapinghub/scrapylib 如何添加它?我不完全确定为什么pip不能安装scrapylib(我将pip更新为1.4版,但出现了相同的问题) 一种解决方法是直接从Github下载scrapylib的压缩包,提取压缩包,然后运行python setup.py install。我可以安装scrapylib并从Python解释器运行导入scrapylib,没有任何错误。我从该位置下载

我怎样才能让scrapy接受一个满是URL的页面作为起始URL,然后对它们进行爬网呢?

因此,我有一个网页的网址,我想爬满。 作为一个刚刚学习本教程的新手,很难看到如何扩展start\u URL以获取该页面上的所有链接。我猜有某种内置方式,但无法很好地解读文档。目前,它只是访问顶部页面,意识到不,实际上,它不是子页面之一,并引发了一些异常 class NewSpider(Spider): name = 'the_new_spider' allowed_domains = ['newspider.com'] start_urls = ['http://news

使用crontab时,管道功能无法在Scrapy中生效

我正在使用Scrapy抓取一些网站。我手动运行了代码,它运行良好,进入管道模块并将数据插入数据库。 然而,当我想在Ubuntu中使用crontab定期运行代码时,出现了一个问题。 它没有进入pileline模块或我在管道中编写的函数。 我能做什么? 这是我的零件代码: **pipelines.py** class PlatformnewsPipeline(object) def process_item(self, item, spider): log.msg('~~~~

Scrapy-仅针对指定的URL

我使用Scrapy浏览和收集数据,但我发现蜘蛛正在抓取许多不需要的页面。我希望爬行器只是从一组定义的页面开始,然后解析这些页面上的内容,然后完成。我试图实现一个如下的规则,但它仍然在爬行一系列其他页面。关于如何处理这个问题有什么建议吗 rules = ( Rule(SgmlLinkExtractor(), callback='parse_adlinks', follow=False), ) 谢谢 提取器正在提取每个链接,因为它没有设置任何规则参数 如果您查看,您会注意到scrapy

如何使用Scrapy下载图像?

我是scrapy的新手。我正在尝试从下载图像。我跟在后面,然后 My settings.py看起来像: BOT_NAME = 'shopclues' SPIDER_MODULES = ['shopclues.spiders'] NEWSPIDER_MODULE = 'shopclues.spiders' ROBOTSTXT_OBEY = True ITEM_PIPELINES = { 'scrapy.contrib.pipeline.images.ImagesPipeline':1

使用scrapy翻页并获取每个页面的图像的url,但是回调方法在我看来不起作用

>输出: 收益项目将被称为“非常次”,且时间等于最大页 收益项目148762 收益项目148762 收益项目148762 收益项目148762 …非常非常,计数等于max_page >我的心: 收益项目只需调用一次 但实际上,收益项目被多次调用 >问题: 我不知道为什么代码是这样工作的 我也很难理解你的爬虫 您当前的循环如下所示: # -*- coding: utf-8 -*- from scrapy_redis.spiders import RedisSpider from scrapy.sp

在使用scrapy进行刮片时,有没有办法设置JSESSIONID

我正在为这个网站用Scrapy为spider编写代码 [] 此网站使用jsessionid。 我想在我的代码中得到它(spider) 有谁能告诉我我该怎么做 代码中的jsessionid。 目前我在浏览器上访问该网站后,只是从浏览器的检查工具中复制粘贴JSSessionID。该网站使用JavaScript设置JSSessionID。但是如果您禁用JavaScript并尝试加载页面,您将看到它请求以下URL: https://www.dynamiteclothing.com/?postSessio

Scrapy 每个爬行器或每台机器都有并发请求吗?

新手在这里设计他的架构问题: 我的目标 我想随着时间的推移跟踪多个twitter个人资料 我想要构建的内容: 一个SpiderMother类,它与一些数据库(包含爬行作业)交互以生成和管理许多小爬行器,每个爬行器以不规则的间隔在twitter上爬行1个用户页面(作业将根据某些算法添加到数据库)。 它们通过SpiderMother生成为子进程,根据爬网的成功与否,数据库作业将被删除。这是一个好的架构吗 我看到的问题: 假设我产生了100个爬行器,并且我的并发请求限制为10,twitter.com会

在Scrapy中的项目中使用多个spider

我想知道是否有可能在同一个项目中同时使用多个spider。实际上我需要两只蜘蛛。第一个蜘蛛收集第二个蜘蛛应该刮的链接。他们都在同一个网站上工作,所以域名是相似的。有可能吗?如果是,你能给我举个例子吗? 谢谢也许这就是你想要的: def parse(self, response): # parse the links (aka your first spider) for link in hxs('//XPATH'): yield Request(link.extr

Scrapy HtmlXPathSelector

只是试一下刮皮,试着让一个基本的蜘蛛工作。我知道这可能是我错过的东西,但我已经尝试了我能想到的一切 我得到的错误是: line 11, in JustASpider sites = hxs.select('//title/text()') NameError: name 'hxs' is not defined 我的代码目前非常基本,但我似乎仍然找不到哪里出了问题。谢谢你的帮助 from scrapy.spider import BaseSpider from scrapy.selec

如何使用scrapyd自动运行蜘蛛程序?

我知道这可能看起来很可笑。我放弃了windows scrapyd的实现,安装了一台ubuntu机器,一切都很好。我有3个项目,每个项目都有自己的蜘蛛。我可以使用以下命令从终端运行spider: curl http://localhost:6800/schedule.json -d project=myproject -d spider=spider2 当我在正确的位置运行上面的代码时,web UI中的所有内容似乎都能正常工作 我希望每天12:00运行项目1,第二天2:00运行项目2,每两周4:

从Warc文件中读取的Scrapy Spider

我正在寻找一个粗糙的Spider,它不是获取URL并对其进行爬网,而是获取一个WARC文件(最好是来自S3)作为输入,并将内容发送到parse方法 实际上,我需要跳过所有下载阶段,这意味着从start\u requests方法中,我希望返回响应,然后发送到parse方法 这就是我到目前为止所做的: class WarcSpider(Spider): name = "warc_spider" def start_requests(self): f = warc.

如何抓取网站上的每个链接并使用scrapy收集所有文本

我跟着林克 https://stackoverflow.com/questions/19254630/how-to-use-scrapy-to-crawl-all-items-in-a-website 但事情不适合我 我正在努力学习通过网络抓取数据。我正在实现上给出的教程 并且能够爬过给定的链接 下面是示例代码快照 from scrapy.spiders import Spider from scrapy.selector import Selector from dirbot.items i

Scrapy始终在命令提示符下运行相同的命令

我正在尝试在Windows10的BashOnUbunty上学习Scrapy。我使用genspider命令创建了一个spider(yelprest),然后通过创建spider文件(遵循官方教程)直接创建了另一个spider(quotes_spider) 第一个spider尚未测试,但我尝试使用第二个spider完成教程,当我尝试运行时,我得到一个指向第一个spider的错误。另外,当我尝试运行任何其他类似于version的scrapy命令时,我会得到与上面相同的错误。以下是错误: (BashEnv

保存scrapy响应的屏幕截图

有没有一种方法可以保存页面的Scrapy响应截图,即 scrapy shell "https://google.com" view(response) 我知道我可以将输出保存为HTML并在以后查看,但是有没有办法将输出保存为图像 我检查了这个问题,(最相关的一个),但我得到 png_bytes = base64.b64decode(response.data['png']) Traceback (most recent call last): File "/usr/lib/python

使用Scrapy fetch命令将看到的html自动写入文件?

我刚开始学刮痧。当我开始使用一个新页面时,我将进入cmd提示符并输入例如 scrapy fetch https://www.bbc.co.uk 它将立即在cmd框中显示该页面的完整html。然后我手动突出显示、复制html并粘贴到记事本中,以检查我想要抓取的信息是否存在,因为我发现有些网站无法被scrapy完全看到 一定有比手动复制粘贴到记事本更简单的方法。是否有一个命令修饰符可以添加到fetch命令中,以使其将html保存到文件中?scrapy fetch--nologhttps://www

上一页   1   2   3    4   5   6  ... 下一页 最后一页 共 24 页