问题标签 [pyspider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - PySpider 在抓取时是否有点击或设置值 api?
多次抓取时,我们需要在最终站点上设置一些值,然后需要单击搜索以获取更多结果。
python - Pyspider 控制台:找不到 phantomjs,在没有它的情况下继续运行
我尝试使用 Pyspider 启动一个抓取项目,我安装了所需的库:
- 蜘蛛
- 幻影
- 龙卷风
- Wsgidav(所需版本 2.4)
- 杰斯敏
好的,安装后出现这个错误
文件“c:\users{:))}\appdata\local\programs\python\python37\lib\site-packages\pyspider\run.py”,>第 231 行
async=True,get_object=False,no_input=False):
SyntaxError:无效的语法
我通过将所有python关键字“ async ”变量名称更改为另一个名称“ _async ”来解决了这个问题。(因为我使用python 3.7并且此版本已将async单词设置为关键字)
我使用以下命令再次启动项目:
python -m pyspider.run
并得到了这些错误:
C:\Users\yosser\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pyspider\libs\utils.py:196:FutureWarning:您的平台不支持超时。
warnings.warn("您的平台不支持超时。", FutureWarning)
[W 200425 12:55:44 run:413] phantomjs 未找到,没有它继续运行。
[I 200425 12:55:46 result_worker:49] result_worker 开始...
[I 200425 12:55:47 processor:211] 处理器启动...
[I 200425 12:55:47 scheduler:647] 调度程序正在启动...
[I 200425 12:55:47 scheduler:586] in 5m: new:0,success:0,retry:0,failed:0
[I 200425 12:55:47 result_worker:66] result_worker 正在退出...
[I 200425 12:55:47 scheduler:782] scheduler.xmlrpc 监听 127.0.0.1:23333
[I 200425 12:55:48 tornado_fetcher:638] fetcher 开始...
[I 200425 12:56:47 scheduler:586] in 5m: new:0,success:0,retry:0,failed:0
Pyspider 服务器已关闭(localhost: 5000 not found) 对于这个问题,我怀疑输出行:
[W 200425 12:55:44 run:413] phantomjs 未找到,没有它继续运行。
我根据这个答案更改了文件“webui/webdav.py”。但没有好消息。请我需要结束这个糟糕的现场故事,谢谢。
python - 使用 beautifulsoup 在 python 中构建 webcrawler 的警告
我正在尝试构建一个简单的网络爬虫,如果搜索的键是“军团”,它会提供显示在 amazon.in 上的每个军团产品的 URL。我正在使用以下代码:
我得到的输出是这样的:
python - 如何在 PYSPIDER 中设置同时请求数
我正在尝试使用 Pyspider 爬虫扫描我的网站,我希望每 2 秒发出一个请求,但目前我知道同时发出 3 个请求,我找不到更改此参数的设置。
我在/usr/lib/python2.7/site-packages/pyspider/scheduler/scheduler.py
文件中找到了LOOP_INTERVAL
我设置为 2(秒)的设置,但现在每 2 秒发出 3 个请求,而我只希望每 2 秒发出 1 个请求。
这是我的设置:
那么我还希望爬虫只进入 1 页深度,我可以从哪里更改此参数?
python - 使用 CrawlerProcess 顺序运行两个蜘蛛时出现 ReactorNotRestartable 错误
我正在尝试顺序运行两个蜘蛛,这是我的模块的结构
当我运行这个时,我得到这个错误:
当我在终端中滚动时,我看到成功运行了两个蜘蛛,并且成功抓取了我想要获取的数据。但是,错误发生在最后,我猜是因为进程无法终止?我尝试了 process.stop 但它不起作用。我还尝试了官方指南(https://docs.scrapy.org/en/latest/topics/practices.html)上的代码,但那会导致蜘蛛未找到错误。任何想法如何解决它?
python - Scarpy-redis 减慢了项目管道的速度
我只是使用由 scrapy-redis 重新实现的 dupfilter 和调度程序来支持从中断中恢复(Redis 仅包含两个键 - dmoz:dupfilter 和 dmoz:requests),并使用一个项目管道将项目存储在远程 MongoDB 中。
但是,使用scrapy-redis会减慢item的处理速度,而不会影响请求和爬取的速度。仅使用scrapy时,新项目以大约1000个项目/分钟的速度安装;使用 scrapy-redis 时,为 0-4 项/分钟。更具体地说,当我按下 CTRL-C 时,信息是派生的,蜘蛛正在优雅地关闭并只处理剩余的项目,没有其他竞赛任务。
INFO:已爬取 228 页(以 47 页/分钟),抓取 7 条(以 1 条/分钟)
这不是一个新问题。我在 scrapy-redis 的 Github 页面中发现了一个问题,但那里的建议不起作用(将 SCHEDULER_IDLE_BEFORE_CLOSE 设置为 0,但默认情况下它是 0 参考源代码)。 https://github.com/rmax/scrapy-redis/issues/43
以下是我的一些设置:
感谢您的关注!
python - 如何索引来自 Netflix、Hotstar 和其他 OTT 平台的所有目录
我正在做一个项目,我需要对来自主要 OTT 平台(如 Netflix、Hotstar、Hulu 等)的所有电影和电视节目标题进行分类。收集的元数据将是标题名称、流派、发布日期、可用时间。
此外,是否有任何自动方式每天更新我的列表并添加最新的电影/节目?
我自己进行了一项研究,并了解到这些平台都没有提供它们的 API,因此该选项已关闭。我认为刮掉标题是非法的,因为它可能会损害他们的服务器。
我有什么选择这样做?
基本思想是在哪个平台上显示什么电影可用。
很少有像 JustWatch、Reelgood 这样的应用程序。我不明白它们是如何更新的。他们是在刮还是什么。
不过,我需要了解提取数据的合法方式。
谢谢
python-3.x - Scrapy Python Xpath 和 CSS + splash:返回一个空列表
我想在这个网页上抓取产品的名称,但我得到一个空列表。我将 splash 用于动态网页,但结果是一样的。有人可以告诉我该怎么做吗?任何其他解决方案?
这是我要抓取的网页:https ://www.woolworths.com.au/shop/browse/drinks/cordias-juices-iced-teas/iced-teas