问题标签 [phpcrawl]

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.

0 投票
1 回答
597 浏览

php - 在 PHPCrawl 中为特定域设置 cookie

我使用PHPCrawl来抓取网站,但现在我想将 cookie 添加到特定域,因为该域具有身份验证,并且我想在授权页面中获取信息。

如何将 cookie 添加到特定域?

0 投票
1 回答
498 浏览

php - PHPCrawl:将站点地图输出到服务器上的 XML 文件

我正在尝试将 PHPCrawl 用于我网站的站点地图。但是,我无法尝试将其输出到服务器上的 xml 站点地图。有什么帮助吗?

0 投票
2 回答
783 浏览

xpath - PHPCrawl 可以用于抓取网站吗?与 Scrapy 有什么不同?

我想抓取几个网站和许多建议Scrapy。它是基于 Python 的,因为我非常熟悉 PHP,所以我寻找了替代方案。

我有一个爬虫PHPCrawl。我不确定它是否只是一个爬虫,或者它是否也会提供抓取工具。如果它可以用于抓取——它是否支持 XPath 或正则表达式。

如何与ScrapyPython 上的哪个进行比较。

请建议我哪个最适合用于抓取网站。

谢谢

0 投票
1 回答
973 浏览

web-crawler - 如何抓取单个页面而不是其中包含的任何链接并输出源?

我正在使用phpcrawl,下面是代码。我想抓取提到的链接并获得所有工作。

现在,我通过传递链接来抓取它,但它抓取了我们在页面源视图中看到的所有链接。但我只想查看我传递的链接的来源,并使用 xpath 来实现抓取作业。

0 投票
1 回答
295 浏览

php - 如何使用 PHPCrawler 使用 PHP 删除某些标签和内容

我目前正在将 PHPCrawler 用于网站上的某些搜索功能。我需要从索引中删除一些页面元素。

例如,我使用过:

删除列表,因为我不希望结果中的列表。这完全可以正常工作。

现在,我需要删除的另一件事如下:

所以为此我尝试过:

这会产生错误,因为可能并非每个页面都有 div 类示例。因此,我使用以下代码对其进行了调整:

不幸的是,这也不起作用!它不会产生错误,但不会从结果中删除所有内容。

这是我第一次使用 phpcrawler 或 Domdocument ......虽然我不确定我的问题是否与他们有关?

0 投票
2 回答
2543 浏览

php - PHPCrawl 与 simplehtmldom 解析数据

我正在尝试使用 PHPCrawl 来抓取和收集 URL,然后提供给 simplehtmldom 以从 html 中提取所需的数据并存储在 mysql 数据库中。现在我收到错误

**

致命错误:在第 44 行的 /home/content/54/11109254/html/PHPCrawl_081/skunktest.php 中调用未定义的方法 simple_html_dom::find()

**

任何人都可以帮助我做错了什么,也许可以看看我是否还有其他障碍?

0 投票
0 回答
930 浏览

php - 如何使用 PHPCrawl 从站点检索特定数据

我正在将 PHPCrawl 用于我想从中接收数据的网站,但我不知道从哪里开始从(例如)具有特定类的跨度中检索数据。

每个示例我想从这个跨度中检索名称“Jan”:

我曾尝试使用 DOMDocument() 和 DOMXPath() 但在加载 html 字符串时出现错误。

所以这是我到目前为止所拥有的:

但是使用它会产生如下错误:

由于我无法更改 html 代码(这是由 PHPCrawl 提取的),我需要做其他事情。然而我不知道是什么。PHPCrawl 本身是否有任何工具可以做到这一点?

0 投票
1 回答
241 浏览

javascript - 优化 cronjob 上的爬虫脚本

我在 MySQL 表中有大约 6600 万个域,我需要在所有域上运行爬虫并在爬虫完成时更新行数 = 1。

爬虫脚本在 php 中使用 php crawler library 这里是脚本。

$this->urls->incrementCount(); 仅更新行并标记计数列 = 1

因为我有 66M 域,我需要在我的服务器上运行 cronjob,并且由于 cronjob 在命令行上运行,我需要一个无头浏览器,所以我选择了 phanjomjs,因为在没有无头浏览器(phantomjs)的情况下,爬虫无法按照我希望的方式工作

我面临的第一个问题是从 mysql db 加载域并从 js 脚本运行爬虫脚本我试过这个:

  • 创建一个 php 脚本,它以 json 形式返回域并从 js 文件加载它并 foreach 域并运行爬虫,但它不能很好地工作并在一段时间后卡住
  • 我尝试的下一件事,我仍在使用的是创建一个 python 脚本来直接从 mysql db 加载域,并从 python 脚本在每个域上运行 phantom js 脚本。

这是代码

它需要 2 个参数来设置从数据库中选择域的限制。

foreach 域并使用子进程运行此命令

crawler2.js 文件也需要 2 个参数 1 是域,第二个是 id 更新计数 = 1 当爬虫完成时这是 crawler2.js

它运行良好,但是我的脚本在某个时间后卡住了 n 需要在某个时间后重新启动,并且日志显示没有任何问题

我需要优化这个过程并尽可能快地运行爬虫,任何帮助将不胜感激

0 投票
1 回答
423 浏览

symfony - PHPCrawl - 试图在类“PHPCrawlerUtils”上调用方法“getURIContent”

我正在尝试将 PHPCrawl 与 Symfony2 一起使用。我首先使用 Composer 安装了 PHPCrawl 库,然后在我的包中创建了一个文件夹“DependencyInjection”,其中放置了扩展 PHPCrawler 的类“MyCrawler”。我将其配置为服务。现在,当我启动爬取过程时,Symfony 给了我上述错误:

试图在类“PHPCrawlerUtils”上调用方法“getURIContent”

而且我不知道为什么,因为类存在,并且方法存在。

这是我的控制器操作:

这是我在 DependencyInjection 文件夹中的服务类 MyCrawler:

我还在 sourceforge PHPCrawl 论坛上搜索了帮助,但到目前为止没有成功......我应该补充一点,我正在使用 PHPCrawl 0.83 从这里开始:

https://github.com/mmerian/phpcrawl/

这是问题似乎出现的类:

0 投票
0 回答
205 浏览

php - PHP爬虫检测链接导致文件下载

我正在开发一个 php 爬虫,我可以在页面中获取所有链接的 href。我不想在我的数据库中保存文件下载链接的 url,例如

http://www.example.com/folder1/thefile.exe

http://www.example.com/folder1/download.php?id=1

http://www.example.com/folder1/thefile.zip

http://www.example.com/folder1/thefile.extension

或任何其他扩展。

这是我的有效函数,我知道 is_file() 函数在这里没用。

现在我的问题是:我如何检测导致文件下载的任何 url?