问题标签 [scraper]

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 投票
3 回答
4084 浏览

php - 通过命令行 php 传递参数

所以我有这个脚本,我试图通过命令行传递参数。但是,不能让它工作。这是脚本的代码:

0 投票
1 回答
117 浏览

php - Html 标记计数 - 变化率公式

我一直在尝试找到一个统计公式来计算从各种网站添加或删除的 html 标签的变化率。

因此,例如,使用我正在编写的刮板,我获得了初始标签计数,然后缓存该值。稍后,在下一轮,我将获得的当前标签计数与过去的标签计数进行比较,并根据两者在变化率方面的差异计算百分比。

此处还包括其他因素,例如网站被抓取的次数,以及这些抓取发生的日期等。

这种性质的东西的理想公式是什么?

0 投票
0 回答
500 浏览

internationalization - OpenGraph 刮板不接受语言环境

我遇到了 Open Oraph 对象的国际化问题。

当我要求刮板在特定语言环境中刮我的 opengraph 对象时,对象首先在默认语言环境中刮,即不带参数 fb_locale,然后在正确的语言环境中刮,即使用 fb_locale=[LOCALE]。抓取的返回包含第一个默认语言环境 (en_US) 抓取的结果,并且该对象未在正确的语言环境中显示,无论是在慢性还是在提要中。

这是我的电话:

然后第一次抓取由 Facebook 完成:

然后第二次抓取由 facebook 完成:

刮刀返回:

你有什么建议,为什么对象被刮了两次,本地化的版本没有存储?

0 投票
1 回答
1918 浏览

curl - 如何根据 URL 下载图像并保存图像名称?

如何从网页下载所有图像并在图像名称前加上网页的 URL(所有符号替换为下划线)?

例如,如果我要从http://www.amazon.com/gp/product/B0029KH944/下载所有图像,则主要产品图像将使用以下文件名保存:

www_amazon_com_gp_product_B0029KH944_41RaFZ6S-0L._SL500_AA300_.jpg

我已经安装了 WinHTTrack 和 wget 并且花费的时间比让他们做我想做的事情可能值得花费的时间更多,但我没有成功,所以 Stack Overflow 是我最后的努力。(如果您将构建选项设置为根据站点结构保存文件并编写脚本以根据文件的父目录重命名文件,WinHTTrack 就接近了,但问题是主图像托管在不同的域上。)

0 投票
1 回答
135 浏览

php - ScraperWiki:如何保存 html,使其只加载一次

当我执行刮板时,它使用此方法加载 url:

所以每次我向爬虫添加新代码并想尝试它时,它都会再次加载 html,这需要相当长的时间。

无论如何要保存 $html 所以它只在第一次加载?

0 投票
3 回答
28974 浏览

python - 无限滚动抓取网站

我写了很多爬虫,但我不确定如何处理无限滚动。如今,大多数网站等,Facebook,Pinterest 都有无限的滚动条。

0 投票
1 回答
521 浏览

facebook - 如何让我的网站自动提交要处理的 url 到 facebooks opengraph 平台?

我经营着一个每年有数十万浏览量的新闻网站。每当发布新内容时(每个星期天晚上),作者都喜欢在 facebook 上发布指向新内容的链接。然而,据我所知,facebook 仅每 24 小时抓取一次网站......所以当链接粘贴到 facebook 上时,它只会出现默认文本。(即不是嵌入在页面中的 opengraph 数据)。

网站上的所有页面(尤其是新闻文章本身)都标有完整的 opengraph 数据。facebook linter 将始终正确显示嵌入的 opengraph 数据。但是,在它刮掉新页面之前,它们不会在 facebook 上正确显示。

目前一种手动解决方案是通过 facebook linter 运行所有新的 URL,在 opengraph 数据库中更新它们。但是,我希望有某种自动化系统,Facebook 可以直接收到每篇新文章的通知。

整个网站是动态的 php - 任何人都可以让我朝着正确的方向前进吗?也许可以修改代码以在每次提交新闻文章后向 facebook 提交调用?

任何帮助将不胜感激 =)

网站 = Critic.co.nz

0 投票
1 回答
1065 浏览

web-scraping - 使用 Behat/Mink 时加载 GoutteClient 时出错

我正在尝试使用 Behat/Mink 来加载网站。

我使用 Composer 进行安装,这是我的 composer.json:

为了进行安装,我运行了以下命令:

一切安装顺利,没有任何错误消息。

这是我的 index.php 文件:

我尝试使用以下命令运行它:

但是我收到以下错误消息:

PHP 致命错误:在第 14 行的 index.php 中调用未定义函数 GotteClient()

指的是这一行:

安装是使用以下文档完成的:

http://mink.behat.org/

该示例是按照文档完成的:

https://github.com/Behat/Mink

关于我可能做错了什么的任何建议?

0 投票
2 回答
9789 浏览

xpath - XPath 和 nokogiri;教程/示例?

我是 XPath 的新手,对我来说似乎有点棘手;有时我发现它并没有按照我认为它应该工作的方式工作。

当我使用 XPath 和 Nokogiri 从网站上抓取数据时,如果网站结构复杂,我会觉得很困难。我使用 FirePath 来获取元素的 XPath,但有时它似乎不起作用。我必须删除浏览器添加的额外标签,例如tbody.

我真的很想知道是否有一些很好的 XPath 和 Nokogiri 教程和示例。谷歌搜索后我找不到太多。

0 投票
2 回答
15089 浏览

php - 如何从需要 cookie 登录的网站中抓取 PHP 中的网站内容?

我的问题是它不仅需要一个基本的cookie,而是要求一个会话cookie,以及随机生成的ID。我认为这意味着我需要使用带有 cookie jar 的网络浏览器模拟器?

我曾尝试使用 Snoopy、Goutte 和其他一些网络浏览器模拟器,但到目前为止我还没有找到有关如何接收 cookie 的教程。我有点绝望了!

谁能给我一个如何在 Snoopy 或 Goutte 中接受 cookie 的示例?

提前致谢!