问题标签 [scrape]

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 投票
2 回答
1089 浏览

php - 在包含其他 dom 元素但不在任何标签内的 Div 中提取明文

我正在尝试使用 PHP 提取一些未包含在任何标签中的纯文本。最好的解释方式是展示;

我即将尝试的是循环并删除 div 中的所有 dom 元素,这应该留下文本。但我希望有一个更优雅的方法:)

谢谢

安迪

0 投票
3 回答
1254 浏览

javascript - 帮助屏幕抓取/解析

我一直在尝试从 hostels.com 抓取并最终解析一些数据(特别是可用性和价格),例如http://www.hostels.com/hosteldetails.php/HostelNumber.11890。问题是,一旦您选择了住宿天数并选择“立即预订”,则不会通过 URL 字符串传递任何内容(我相信这一切都是通过 Ajax 完成的),我无法直接转到特定的日期或时间范围。

我尝试过浏览器模拟器,例如 Selenium、IRobotSoft 和 FakeApp,虽然我确实让 Selenium 和 Fake 完成了大部分捕获完整源代码的工作,但在不得不抓取(并使用其他软件解析)多个页面时,它很丑陋并且仍然很乏味一天。

我还尝试过 HTML DOM Parser、PHP Scriptable Web Browser、HTMLUnit、cScrape.php、Crowbar。要么他们无法处理 Ajax,要么我连让他们跑起来都没有运气。

理想情况下,我想要可以从服务器运行的东西,尽可能少的依赖项,但在这一点上,我只想让它运行。

现在花了很多时间试图让这个工作。我仍然觉得我不确定从哪里开始。有人可以指出我正确的方向吗?我应该回去花更多时间在 HTMLUnit 上吗?像这样的网站的最佳做法是什么?

谢谢

0 投票
2 回答
1885 浏览

php - PHP/HTML - 多页屏幕抓取,导出到 .txt,日期和值之间有逗号

我正在尝试抓取网页(请参阅代码) - 以及那些及时返回的页面(您可以在页面本身中看到日期“20110509”) - 以获得简单的数字字符串。我似乎无法通过反复试验(我是编程新手)弄清楚如何解析我想要的表中的特定数据。我一直在尝试使用没有 curl 或其他类似东西的简单 PHP/HTML。这可能吗?我认为我的主要问题是使用从源代码中获取数据所必需的分隔符。

我想要的是程序从它可以的第一页开始,例如'20050101',并扫描每一页直到当前日期,获取特定数据,例如“最新关闭”(列)、“关闭臂”(行),并将相应日期的值导出到单个 .txt 文件中,日期与值用逗号分隔。每次运行程序时,都应将日期/值附加到现有的文本文件中。

我知道下面的许多代码行都是垃圾,这是我学习过程的一部分。

0 投票
1 回答
984 浏览

asp.net - 在进行网络抓取时确定图像大小

我已经开发了几乎所有预览网页的功能,就像 facebook 一样。我使用 .net hhtprequest 和 Html Agility Pack 来解析 html 并获取节点和所有内容。但是当找到大于 100 像素的图像时,我尝试获取图像标签的宽度属性,如果没有,我获取样式属性并找到宽度属性,但有时宽度来自 css 类和其他次没有宽度信息。我怎样才能让我的服务器加载图像并找到它。但这也会在服务器上造成大量负载,但任何线索将不胜感激。提前谢谢

0 投票
1 回答
2876 浏览

ruby - 使用 Ruby、Nokogiri 和 Mechanize 解析网页中的 java cookie 链接

每个人。

我需要解析一个为每个链接设置了 java cookie 的网页。我可以解析正常的搜索,并显示每个产品并将其导入 mysql 数据库。

我能够使用以下代码从搜索结果中抓取每个产品及其元素:

这就是我所拥有的:

现在我不想搜索我想从类别列表中解析:
链接到主页:http://www.site.com.mx/tienda/articulos.php?opcion=lineas&seccion_mostrar=11 这显示了这样的表格(所有内容都包含链接) 顶部名称: ACCESORIOS 是 ACCESORIOS 类别的链接,下面列出的粗体名称是子类别,粗体名称下面的是品牌。如果我点击 ACCESORIOS,它将显示每个品牌和每个子类别混合在一起,依此类推。

ACCESORIOS
Accesorios Multimedia(6)
ACTECK DE MEXICO (5), MANHATTAN (1)
Accesorios P/impres。Punto De Venta(1)
EPSON CORPORATION (1)
Accesorios Para Cableados De Patch Panels(1) 智能
网络解决方案 (1)
Accesorios Para Camaras Digitales(1) 曼哈顿
(1)
Accesorios Para Computadoras De Escritorio(32)
ACTECK DE MEXICO ), GENERICA (1), MANHATTAN (28), TARGUS (1)
Accesorios Para Computadoras Portatiles(60)
ACTECK DE MEXICO (3), GENIUS (2), HP COMERCIAL (2), HP IMPRESION (1), MANHATTAN (17) ), PERFECT CHOICES (32), SOLIDEX (1), TARGUS (1), TECH ZONE (1)
Accesorios Para Ipod(3)
ACTECK DE MEXICO (1), PERFECT CHOICES (2)
Accesorios Para Mesas(3)
MANHATTAN (2), PERFECT CHOICES (1)
Accesorios Para Redes(13)
INTELLINET NETWORK SOLUTIONS (5), MANHATTAN (8)
Accesoriso Para Celulares(14)
BLACKBERRY (14)
Adaptador Bluetooth(6)
ACTECK DE MEXICO (1), MANHATTAN (2), PERFECT CHOICES (3)
Adaptadores Para Mouse Y Teclado(3)
MANHATTAN (2), PERFECT CHOICES (1)
Audifono/diademas Y Microfonos(49)
ACTECK DE MEXICO (14), BTO (1), GENIUS (3) )、罗技 (2)、曼哈顿 (11)、完美选择 (18)

这是每个链接都有 cookie 的表的代码,这就是为什么我一直很难抓取它。

所以问题是我应该在我的代码中添加什么才能访问每个链接?如果它使用 java cookie。

使用的 Cookie:
名称、值范围
codigoseccion_buscar、11-30
codigomarca_buscar、100-736
codigolinea_buscar、15-1385

0 投票
1 回答
5918 浏览

javascript - 如何正确使用 mechanize 抓取 AJAX 网站

所以我对网络抓取相当陌生。这个网站上有一个表格,表格的值由Javascript控制。这些值将确定我的浏览器被告知从 Javascript 请求的未来值的地址。这些新页面具有脚本在我的浏览器中更新表格的 JSON 响应。

所以我想用一个 mechanize 方法构建一个类,它接受一个 url 并吐出 body 响应,第一次是 HTML,之后,body 响应将是 JSON,用于剩余的迭代。

我有一些可行的方法,但我想知道我做得对还是有更好的方法。

self.first_append 在从主页 html 提取数据后变为正数,因此 br.addheaders.append 不会第一次运行,因为正文响应中没有 JSON,但所有其他正文响应都是 JSON . 这是正确的方法吗?有没有更有效的方法?

self.first_append 在从主页 html 提取数据后变为正数,因此 br.addheaders.append 不会第一次运行,因为正文响应中没有 JSON,但所有其他正文响应都是 JSON . 这是正确的方法吗?有没有更有效的方法?是否有其他语言/库做得更好?

经过长时间运行后,我收到此错误消息:

它有点让我迷失了,不知道为什么会生成它,但我需要进行大量的迭代才能看到它。

0 投票
1 回答
1514 浏览

php - 如何使用 Ipad 的用户代理抓取网站?

如何使用 Ipad 的用户代理抓取网站?

我在下面使用 PHP 中的 curl 有此代码,它输出源代码但仍然找不到标签。在使用 Ipad 用户代理的 Ipad 或 Safari 浏览器上,标签会在站点加载时显示。

谢谢!

0 投票
1 回答
549 浏览

curl - 使用 cURL 以编程方式使用搜索引擎是否合法?

我想使用 cURL 向 Bing 发出搜索请求并使用搜索结果。是否违反他们的服务条款?如果是这样,请您张贴上面所说的网址。我找不到一个。

0 投票
3 回答
2920 浏览

java - 如何在 Java 中筛选抓取 Ajax 站点?

我希望屏幕抓取几个基于 Ajax 的网站并模拟刷新网页部分的点击,然后阅读更新的 HTML。有没有可以做到这一点的Java库?

0 投票
3 回答
1285 浏览

php - Scrape a website (javascript website) using php

I am trying to scrape a website (believe it is in JavaScript) using a simple PHP script. I am a beginner so any help would be greatly appreciated. The URL of the webpage is:

http://www.indiainfoline.com/Markets/Company/Fundamentals/Balance-Sheet/Yes-Bank-Ltd/532648

So here for example I would like to pass the name of company (Yes-Bank-Ltd) and code (532648) in get_file_contents. Not sure on how to do it so can somebody please help.

Thanks, Nidhi