问题标签 [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 投票
4 回答
3722 浏览

c# - 如何在不使用第三方库的情况下从 HTML 中提取文本?

带有 html 标签的文本。如何获取没有 html 标签的文本?

0 投票
0 回答
192 浏览

facebook-opengraph - 指向 Facebook 实体的 OGP 端点被 FB 爬虫错误解析?

我们的应用程序呈现指向实际 Facebook 页面的 Like 按钮。但是,我们不是将 Like 按钮的 href 直接指向 FB url,而是通过我们的服务器通过 opengraph 端点对其进行代理。这很有帮助,因为它允许我们更详细地分析何时使用这些端点(除其他外)。当这些端点被像“facebookexternalhit”这样的用户代理命中时,它们会呈现如下内容:

请注意,og:url 和链接 rel="canonical" 都指向实际的 Facebook 页面。实际上,当我们尝试通过 Facebook 的调试器运行链接时,这看起来表现良好:https ://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.bandpage-s .com%2Fogp%2F11601543111380992

但是,有一个问题是,在一段时间后,Like 按钮似乎不再返回到页面。这会导致点赞计数关闭,如果您已经喜欢该页面,则按钮不会被“点赞”等。通过转到上面的 OG 调试器 url 手动触发重新抓取可以暂时解决问题。

显然,手动重新触发这些刮擦不是一个可行的解决方案。这里是否发生了多种刮板行为?似乎使用调试器触发的刮板与定期自动重新刮板的刮板不同。

为什么会这样?除了在这里摆脱我们的 ogp 端点“中间人”之外,我们能做些什么来解决这个问题?这似乎是对 og:url 的完美利用。

0 投票
1 回答
124 浏览

python - 使用 BeautifulSoup 在网页中查找某个链接

我正在尝试检索一个 torrent 链接,最好是第一个非赞助链接。从一个页面,然后让它打印链接。我对这种编码相当陌生,因此您可以提供尽可能多的细节将是完美的!非常感谢你的帮助!

0 投票
1 回答
222 浏览

php - php抓取但html没有换行符

在 html 中,它将显示以下内容:

当我使用 php 抓取该内容时,它会在 mysql db 中显示以下内容:

它将显示在一行中并且没有任何字符串 /n 或 /r 并且希望它在 mysql db 中显示正确的间距/换行符。很高兴知道如何验证换行符的每一步,并从 html 到 string,然后从 string 到 mysql。

0 投票
2 回答
246 浏览

c# - 使用泛型来完成一个 HTML 刮板。对还是错?

我的要求是下载和抓取各种 HTML 页面,根据我们在该页面上查找的对象类型从页面上的代码中提取对象列表。例如,一个页面可能包含一个嵌入的医生手术列表,另一个可能包含一个主要信任列表等。我必须逐页查看并最终得到适当对象类型的列表。

我选择这样做的方式是有一个名为的通用类HTMLParser<T> where T : IEntity, new()

IEntity是所有可以被抓取的对象类型都将实现的接口,虽然我还没有弄清楚接口成员将是什么。

所以你可以有效地说

Parse()将验证从 URL 下载的 HTML 字符串是否包含符合提供的 XSD 文档的块,然后以某种方式使用此模板提取一个List<Surgery>手术对象,每个对象对应于 HTML 字符串中的一个 XML 块。

我遇到的问题是

  1. 我不确定如何以一种很好的方式为每种对象类型指定模板,除了HTMLParser<Surgery> parser = new HTMLParser<Surgery>(new URI("...."), Surgery.Template);有点笨拙。谁能建议使用 .NET 3.0/4.0 的更好方法?

  2. 我不确定如何以通用方式获取 HTML 字符串、获取 XSD 或 XML 模板文档,并返回通用类型的构造对象的通用列表。谁能建议如何做到这一点?

  3. 最后,我不相信泛型是解决这个问题的正确方法,因为它开始看起来非常复杂。你会同意还是谴责我在这里选择的解决方案,如果不同意,你会怎么做?

0 投票
3 回答
1253 浏览

python - Python 3 HTML 解析器

我相信每个人都会呻吟,并告诉我查看文档(我有),但我只是不明白如何实现以下相同:

到目前为止,我在 python3 中的所有内容是:

说真的,任何建议(请不要告诉我阅读http://docs.python.org/release/3.0.1/library/html.parser.html,因为我已经学习python 1天了,很容易混淆) 一个简单的例子会很棒!!!

0 投票
1 回答
205 浏览

python - 从抓取的网页中提取价值

第一次尝试使用 python,经过一天的谷歌搜索,我的老大脑更加难过。

我已经使用 pycurl 通过 ntlm 代理和抓取页面记录,然后使用 beautifulsoup 来美化结果。

我想从美化输出中提取 3 个值并将它们存储为变量。该页面是动态生成的,因此它们在页面上的位置不断变化。这 3 个标签仅在页面上出现一次,并且与它们各自的值相比,它们的位置是恒定的。

如何从美化输出中提取 Value1、Value2 和 Value3 并将它们存储为变量。

这 3 个 oneliners 是我在 python 中需要做的。

grep -A 3 "Label1" prettify.txt | tail -n 1 |awk '{打印 $1}'

grep "Label2" prettify.txt | awk '{打印 $3}'

grep -B 4 "Label3" prettify.txt | awk '{print $1}' RS=[ FS=] | 尾-n 1

提取物 1

提取物 2

0 投票
1 回答
313 浏览

php - 网站抓取后的奇怪符号

我能够成功地抓取网站并获得我不想要的内容,但对于大多数人来说,我得到的东西看起来像这样

但在 Fitgeek,这不仅仅是关于 Keh 或她的未婚夫兼商业伙伴 Wing Liang,而是关于建立一个由跑步者和步行者组成的社区。

“我想开一家商店,重点是帮助普通圈子里的人,”她说。

我该如何摆脱这些?

0 投票
1 回答
411 浏览

php - 抓取 - 字符编码

我正在从网络上的大表中抓取一些数据来填充数据库。一些字符在我的屏幕上显示得很好,但是当我刮擦时会做这样的事情:!¬†√Öland Islands

我正在使用 file_get_contents 来获取原始数据。在我刮掉它之后它看起来很好(即,如果我只是 var_dump 原始结果):Åland Islands

然后我将数据转换为数组并将其写入文本文件或 sql 文件。我需要做什么来保留字符格式?

0 投票
5 回答
14739 浏览

python - BeautifulSoup:去除指定的属性,但保留标签及其内容

我正在尝试对 MS FrontPage 生成的网站的 html 进行“defrontpagify”,并且正在编写一个 BeautifulSoup 脚本来执行此操作。

但是,我陷入了尝试从包含它们的文档中的每个标签中去除特定属性(或列表属性)的部分。代码片段:

它运行没有错误,但实际上并没有剥离任何属性。当我在没有外部循环的情况下运行它时,只需硬编码单个属性(soup.findAll('style'=True),它就可以工作。

任何人都知道这里的问题吗?

PS - 我也不太喜欢嵌套循环。如果有人知道更实用的地图/过滤器风格,我很乐意看到它。