【python – 运行scrapy crawler的最简单方法,因此它不会阻止脚本】教程文章相关的互联网学习教程文章

python – 如何通过scrapy捕获错误,以便在收到User Timeout错误时可以执行某些操作?【代码】

ERROR: Error downloading <GET URL_HERE>: User timeout caused connection failure.我在使用刮刀的时候偶尔会遇到这个问题.有没有办法可以解决这个问题并在它发生时运行一个函数?我无法在任何地方找到如何在线进行.解决方法:您可以做的是在Request实例中定义一个errback:errback (callable) – a function that will be called if any exception was raised while processing the request. This includes pages that failed wi...

python – 使用中间件忽略Scrapy中的重复项【代码】

我是Python的初学者,我正在使用Scrapy进行人事网络项目. 我使用Scrapy反复从多个网站中提取数据,因此在添加链接之前,如果链接已经在数据库中,我需要检查每次抓取.我是在piplines.py类中完成的:class DuplicatesPipline(object):def process_item(self, item, spider):if memc2.get(item['link']) is None:return itemelse:raise DropItem('Duplication %s', item['link'])但我听说使用中间件更适合这项任务. 我发现在Scrapy中使用...

python – Scrapy:在方法之间传递项目【代码】

假设我有一个Bookitem,我需要在解析阶段和细节阶段向它添加信息def parse(self, response)data = json.loads(response)for book in data['result']:item = BookItem();item['id'] = book['id']url = book['url']yield Request(url, callback=self.detail)def detail(self,response): hxs = HtmlXPathSelector(response)item['price'] = ...... #I want to continue the same book item as from the for loop above按原样使用...

python – Scrapy 404错误:未处理或不允许HTTP状态代码【代码】

我正在尝试使用scrapy刮取网站coursetalk,我正在尝试使用蜘蛛模板并获得404错误:2017-12-29 23:34:30 [scrapy] DEBUG: Ignoring response <404 https://www.coursetalk.com/subjects/data-science/courses/>: HTTP status code is not handled or not allowed这是我正在使用的代码:import scrapyclass ListaDeCursosSpider(scrapy.Spider):name = "lista_de_cursos"start_urls = ['https://www.coursetalk.com/subjects/data-sci...

python – 使用scrapy中的try / except子句无法获得所需的结果【代码】

我在scrapy中编写了一个脚本,通过get_proxies()方法使用新生成的代理来生成代理请求.我使用请求模块来获取代理,以便在脚本中重用它们.我正在尝试解析它的所有电影链接是landing page,然后从它的target page获取每部电影的名称.我的下面的脚本可以使用代理的旋转. 我知道有一种更简单的方法来更改代理,就像这里描述的那样HttpProxyMiddleware但是我仍然想坚持我在这里尝试的方式. website link 这是我当前的尝试(它不断使用新代理来...

python – 运行Scrapy但它错误:没有名为_util的模块【代码】

我已经安装了Scrapy,并在python中导入它,每个东西看起来都很好.但是当我在http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html中尝试一个例子时它会导致错误. 我运行scrapy crawl swspider,然后我得到:> 2018-05-14 14:24:16 [scrapy.utils.log] INFO: Scrapy 1.5.0 started (bot: tutorial) > 2018-05-14 14:24:16 [scrapy.utils.log] INFO: Versions: lxml 3.2.1.0, > libxml2 2.9.1, cssselect 1.0.3, parsel 1....

python – Scrapy FormRequest发送JSON【代码】

我正在尝试创建一个可以发送content-type:application / json的FormRequest. 这是我尝试的:yield FormRequest("abc.someurl.com", formdata=json.dumps({"referenceId":123,"referenceType":456}), headers={'content-type':'application/json'}, callback=self.parseResult2)如果我使用json.dumps()来处理formdata =中的表单数据,我得到的错误是“exceptions.ValueError: need more than 1 value to unpack”我不能只使用列表fo...

python – 运行scrapy crawler的最简单方法,因此它不会阻止脚本【代码】

The official docs提供了许多从代码运行scrapy crawler的方法:import scrapy from scrapy.crawler import CrawlerProcessclass MySpider(scrapy.Spider):# Your spider definition...process = CrawlerProcess({'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)' })process.crawl(MySpider) process.start() # the script will block here until the crawling is finished但是所有这些都会阻止脚本,直到爬行结...

python – Scrapy,在Javascript中抓取数据【代码】

我正在使用scrapy来筛选网站上的数据.但是,我想要的数据不在html本身内部,而是来自javascript.所以,我的问题是: 如何获取此类案例的值(文本值)? 这是我试图筛选的网站:https://www.mcdonalds.com.sg/locate-us/ 我想要的属性:地址,联系方式,营业时间. 如果您在Chrome浏览器中执行“右键单击”,“查看源代码”,您将看到HTML中无法使用此类值. 编辑 Sry paul,我做了你告诉我的事情,找到了admin-ajax.php并看到了尸体但是,我现在真...

python – 如何在scrapy中处理302重定向【代码】

报废网站时,我收到服务器的302响应:2014-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://github.com/scrapy/scrapy/blob/master/scrapy/contrib/downloadermiddleware/redirect.py#L31 我将此重定向代码...

python – 在Scrapy中本地运行所有蜘蛛【代码】

有没有办法在不使用Scrapy守护进程的情况下运行Scrapy项目中的所有蜘蛛?过去有一种方法可以使用scrapy爬行运行多个蜘蛛,但是语法被删除了,Scrapy的代码也发生了很大的变化. 我尝试创建自己的命令:from scrapy.command import ScrapyCommand from scrapy.utils.misc import load_object from scrapy.conf import settingsclass Command(ScrapyCommand):requires_project = Truedef syntax(self):return '[options]'def short_desc...

python – 使用scrapyd一次运行多个scrapy蜘蛛【代码】

我正在使用scrapy进行一个项目,我想要抓取一些网站 – 可能是数百个 – 我必须为每个网站编写一个特定的蜘蛛.我可以使用以下方法在部署到scrapyd的项目中安排一个蜘蛛:curl http://localhost:6800/schedule.json -d project=myproject -d spider=spider2但是如何一次安排项目中的所有蜘蛛呢? 所有帮助非常感谢!解决方法:我一次运行200个蜘蛛的解决方案是为项目创建一个自定义命令.有关实现自定义命令的更多信息,请参见http://do...

python – scrapy如何导入设置以覆盖它【代码】

这是我的代码class Test(Spider):self.settings.overrides['JOBDIR']= "seen"我有:File "C:\Python27\lib\site-packages\scrapy\spider.py", line 46, in settingsreturn self.crawler.settingsFile "C:\Python27\lib\site-packages\scrapy\spider.py", line 41, in crawlerassert hasattr(self, '_crawler'), "Spider not bounded to any crawler" AssertionError: Spider not bounded to any crawler我正在扩展Spider而我没有使...

[PYTHON]Scrapy学习笔记(一)思路与待解决的问题【图】

Scrapy框架架构图(图片来自网络) 简要概括: 把整个Scrapy框架比喻成一个古代部队。 1.引擎:指挥官,部队的所有动向均需要向指挥官汇报,指挥官负责协调各个单位、部门的运作; 2.调度器:可以看成队列,给同一单位的士兵编号,决定冲锋顺序; 3.下载器:部队前锋; 4.爬虫:部队主力; 5.管道工厂:后勤,收拾战场; 思路: 1.爬取数据分为三个阶段,第一个阶段是获取到每一区块总体数据量 2.爬取数据量较大,必须支持断点续爬...

python – 如何集成Flask和Scrapy?【代码】

我正在使用scrapy来获取数据,我想使用flask web框架在网页中显示结果.但我不知道如何在烧瓶应用程序中调用蜘蛛.我曾尝试使用CrawlerProcess来调用我的蜘蛛,但是我得到了这样的错误:ValueError ValueError: signal only works in main threadTraceback (most recent call last) File "/Library/Python/2.7/site-packages/flask/app.py", line 1836, in __call__ return self.wsgi_app(environ, start_response) File "/Library/Pyt...

运行 - 相关标签