scrapy相关内容

为 Scrapy 构建 RESTful Flask API

API 应该允许包含用户想要抓取的 URL 的任意 HTTP get 请求,然后 Flask 应该返回抓取的结果. 以下代码适用于第一个http请求,但twisted reactor停止后,它不会重新启动.我什至可能没有以正确的方式解决这个问题,但我只是想在 Heroku 上放置一个 RESTful scrapy API,到目前为止我能想到的就是这些. 有没有更好的方法来构建这个解决方 ..
发布时间:2021-12-14 11:15:32 Python

如何集成 Flask &刮痧?

我正在使用scrapy获取数据,我想使用flask web框架在网页中显示结果.但是我不知道如何在flask应用程序中调用蜘蛛.我尝试使用 CrawlerProcess 来调用我的蜘蛛,但我得到了这样的错误: 值错误ValueError:信号仅适用于主线程回溯(最近一次调用最后一次)文件“/Library/Python/2.7/site-packages/flask/app.py",第 1836 ..
发布时间:2021-12-14 10:28:38 Python

按顺序抓取抓取网址

所以,我的问题比较简单.我有一只蜘蛛正在爬取多个站点,我需要它按照我在代码中编写的顺序返回数据.贴在下面. from scrapy.spider import BaseSpiderfrom scrapy.selector import HtmlXPathSelector从 mlbodds.items 导入 MlboddsItem类MLBoddsSpider(BaseSpider):name = ..
发布时间:2021-12-10 10:15:34 Python

Scrapy 单元测试

我想在 Scrapy(屏幕抓取工具/网络抓取工具)中实现一些单元测试.由于项目是通过“scrapy crawl"命令运行的,我可以通过鼻子之类的东西运行它.由于scrapy是建立在twisted之上的,我可以使用它的单元测试框架Trial吗?如果是这样,如何?否则我想让鼻子工作. 更新: 我一直在谈论 Scrapy-Users 我想我应该以“在测试代码中构建响应,然后使用响应调用方法并 ..
发布时间:2021-12-09 19:23:03 Python

无头浏览器和抓取 - 解决方案

我正在尝试为浏览器自动测试套件和能够抓取的无头浏览器平台列出可能的解决方案. 浏览器测试/抓取: Selenium - polyglot 浏览器自动化的旗舰,Python、Ruby、JavaScript 绑定,C#、Haskell 等,用于 Firefox 的 IDE(作为扩展)用于更快的测试部署.可以充当服务器并拥有大量功能. JAVASCRIPT PhantomJS - ..
发布时间:2021-12-08 15:47:26 其他开发

selenium 与scrapy 用于动态页面

我正在尝试使用 scrapy 从网页中抓取产品信息.我要抓取的网页是这样的: 从包含 10 个产品的 product_list 页面开始 单击“下一步"按钮会加载接下来的 10 个产品(两个页面之间的网址不变) 我使用 LinkExtractor 跟随每个产品链接进入产品页面,并获取我需要的所有信息 我尝试复制 next-button-ajax-call 但无法正常工作,所以我尝试 ..
发布时间:2021-12-08 15:37:31 Python

如何使用 PyCharm 调试 Scrapy 项目

我正在使用 Python 2.7 开发 Scrapy 0.20.我发现 PyCharm 有一个很好的 Python 调试器.我想用它来测试我的 Scrapy 蜘蛛.请问有人知道怎么做吗? 我试过的 实际上,我试图将蜘蛛作为脚本运行.结果,我构建了该脚本.然后,我尝试将我的 Scrapy 项目作为这样的模型添加到 PyCharm: File->Setting->Project struct ..
发布时间:2021-12-08 13:09:53 Python

Scrapy 在 AWS Lambda 上运行时抛出错误 ReactorNotRestartable

我已经部署了一个scrapy项目,它会在收到 lambda api 请求时进行抓取. 它在第一次调用 api 时运行良好,但后来失败并抛出 ReactorNotRestartable 错误. 据我所知,AWS Lambda 生态系统并没有终止进程,因此反应堆仍然存在于内存中. lambda 日志错误如下: 回溯(最近一次调用最后一次):文件“/var/task/aws-lamb ..
发布时间:2021-12-06 12:48:50 其他开发

无法在 Mac OS X 10.9 上安装 Lxml

我想安装 Lxml 以便我可以安装 Scrapy. 当我今天更新我的 Mac 时,它不会让我重新安装 lxml,我收到以下错误: 在 src/lxml/lxml.etree.c:314 包含的文件中:/private/tmp/pip_build_root/lxml/src/lxml/includes/etree_defs.h:9:10: 致命错误: 'libxml/xmlversion.h ..
发布时间:2021-12-05 20:05:42 Python

使用python抓取ajax页面

我已经看过这个关于抓取ajax的问题​​,但那里没有提到python.我考虑过使用 scrapy,我相信他们有关于该主题的一些文档,但正如您所看到的,该网站已关闭.所以我不知道该怎么办.我想做以下事情: 我只有一个 url,example.com,您可以通过单击提交从一个页面转到另一个页面,该 url 不会更改,因为他们使用 ajax 来显示内容.我想抓取每个页面的内容,怎么做? 假设 ..
发布时间:2021-12-03 12:29:32 前端开发

在 Celery 任务中运行 Scrapy 蜘蛛

我有一个 Django 站点,当用户请求时会在该站点上进行抓取,并且我的代码在新进程中启动了 Scrapy 蜘蛛独立脚本.当然,这对增加用户不起作用. 像这样: class StandAloneSpider(Spider):#普通蜘蛛settings.overrides['LOG_ENABLED'] = True#更多设置可以更改...爬虫 = CrawlerProcess(设置)craw ..
发布时间:2021-12-02 19:41:57 Python

使用多个解析创建 Scrapy 项目数组

我正在使用 Scrapy 抓取列表.我的脚本首先使用 parse_node 解析列表 URL,然后使用 parse_listing 解析每个列表,对于每个列表,它使用 parse_agent.我想创建一个数组,该数组通过列表和列表的代理进行scrapy 解析,并为每个新列表进行重置. 这是我的解析脚本: def parse_node(self,response,node):产量请求('列 ..
发布时间:2021-11-18 04:19:57 Python

将参数传递给回调函数

def 解析(自我,响应):对于 response.xpath('//tbody/tr') 中的 sel:item = HeroItem()item['hclass'] = response.request.url.split("/")[8].split('-')[-1]item['server'] = response.request.url.split('/')[2].split('.')[0 ..
发布时间:2021-11-17 05:35:03 Python

使用 ArcGIS 安装的 Python 2.7 安装 pip

我正在尝试在 Windows 8.1 上为 Python 2.7 安装 Scrapy,我知道我首先需要安装 pip.由于我通过ArcGIS 10.2安装了Python,所以我认为需要在C:\Python27\ArcGIS10.2\lib\site-packages下安装pip.在该目录中安装 pip 后,我会收到错误代码: >>>导入点回溯(最近一次调用最后一次):文件“",第 1 ..
发布时间:2021-11-17 01:36:48 Python

获取 AttributeError 错误“str"对象没有属性“get"

我在处理 JSON 响应时遇到错误: 错误:AttributeError: 'str' 对象没有属性 'get' 可能是什么问题? 对于其余值,我也收到以下错误: ***类型错误:'builtin_function_or_method' 对象不可下标 '电话':值['_source']['primaryPhone'],KeyError: 'primaryPhone'*** ..
发布时间:2021-11-15 03:13:29 其他开发

获取 AttributeError 错误“str"对象没有属性“get"

我在处理 JSON 响应时遇到错误: 错误:AttributeError: 'str' 对象没有属性 'get' 可能是什么问题? 对于其余值,我也收到以下错误: ***类型错误:'builtin_function_or_method' 对象不可下标 '电话':值['_source']['primaryPhone'],KeyError: 'primaryPhone'*** ..
发布时间:2021-11-15 03:11:03 其他开发

为什么我的 Cassandra 数据库中的数据插入有时稳定有时缓慢?

这是我的查询,如果当前数据 ID 在 Cassandra 数据库中存在或不存在: row = session.execute("SELECT * FROM 文章 where id = %s", [id]) 在Kafka中解析消息,然后判断这条消息在Cassandra数据库中是否存在,如果不存在,则执行插入操作,如果存在,则不应该插入数据中. > messages = consumer.ge ..
发布时间:2021-11-12 03:22:54 Python