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

scraper - 带有 HTTP 标头问题的屏幕抓取 - 我认为

我一直在尝试解决这个问题大约一个星期,但无法提出一个好的解决方案。所以,我想我会看看是否有人可以帮助我。这是我试图抓取的链接之一:

http://content.lib.washington.edu/cdm4/item_viewer.php?CISOROOT=/alaskawcanada&CISOPTR=491&CISOBOX=1&REC=4

我右键单击以复制图像位置。这是复制的链接:

(因为我是新手,所以不能将其粘贴为链接) http:// content (dot) lib (dot)washton (dot) edu/cgi-bin/getimage.exe?CISOROOT=/alaskawcanada&CISOPTR=491&DMSCALE=100.00000&DMWIDTH =802&DMHEIGHT=657.890625&DMX=0&DMY=0&DMTEXT=%20NA3050%20%09AWC0644%20AWC0388%20AWC0074%20AWC0575&REC=4&DMTHUMB=0&DMROTATE=0

没有显示清晰的图像 URL。显然这是因为图像隐藏在某种类型的脚本后面。经过反复试验,我发现我可以将“.jpg”放在“CISOPTR=491”之后,然后链接就变成了一个图片网址。问题是这不是图像的高分辨率版本。要获得高分辨率版本,我必须进一步更改 URL。我发现很多文章@Stackoverflow.com 都提到了尝试使用 curl 和 PHP 构建脚本,我什至尝试了其中的一些但没有运气。“491”是图像编号,我可以更改该编号以在同一目录中查找其他图像。所以,抓取一个数字序列应该很容易。但我仍然是一个刮痧的菜鸟,而这个正在踢我的屁股。这是我尝试过的。

使用 cURL 获取远程图像然后重新采样

也试过这个。

http://psung.blogspot.com/2008/06/using-wget-or-curl-to-download-web.html

我也有 Outwit Hub 和 Site Sucker,但他们不将 URL 识别为图像文件,因此他们只是通过它。我一夜之间使用了 SiteSucker,它下载了 40,000 个文件,其中只有 60 个是 jpeg,没有一个是我想要的。

我一直遇到的另一件事是我能够手动下载的文件,文件名始终是 getfile.exe 或 showfile.exe,然后如果我手动添加“.jpg”作为扩展名,我可以在本地查看图像.

我怎样才能获得原始的高分辨率图像文件,并自动化下载过程,以便我可以抓取几百张这些图像?

0 投票
1 回答
626 浏览

ruby - 如何使用 ruby​​/anemone/nokogiri 从网站上刮取产品

是否可以使用 ruby​​ 中的 anemone 和 nokogiri 库从电子商务网站上抓取产品?

我了解如何使用 nokogiri 从每个产品页面提取我需要的数据,但我不知道如何让 anemone/nokogiri 抓取网站并抓取所有产品页面。

非常感谢朝着正确的方向推进

0 投票
3 回答
3468 浏览

ruby - 红宝石刮刀。如何导出为 CSV?

我编写了这个 ruby​​ 脚本来从制造商网站上抓取产品信息。产品对象的抓取和存储在数组中有效,但我不知道如何将数组数据导出到 csv 文件。抛出此错误:scraper.rb:45: undefined method `send_data' for main:Object (NoMethodError)

我不明白这段代码。这是在做什么,为什么它不能正常工作?

完整代码:

0 投票
1 回答
510 浏览

node.js - 即时从 node.js 数据流中抓取 URL

我正在使用一个 node.js 项目(使用Wikistream作为基础,所以不完全是我自己的代码),它流式传输实时维基百科编辑。该代码将每个编辑分解为其组成部分并将其存储为一个对象(请参阅https://gist.github.com/2770152上的要点)。其中一个部分是 URL。我想知道在解析每个编辑时是否有可能为每个编辑抓取显示预编辑和后编辑维基百科页面之间差异的 URL,获取差异(在名为“diffchange diffchange-inline”的跨度类中,例如)并将其添加为对象的另一个属性。不对,它可能只是一个字符串,不必完全结构化。

我试过使用nodeio并有一些这样的代码(我特别想只刮掉评论中标记的编辑(m [6])作为可能的破坏行为):

当它遇到条件语句时,它会刮一次,然后程序关闭。它不会将所需内容存储为对象的属性。如果不满足条件,它会存储一个设置为“无内容”的 vandalContent 属性。

我想知道的是:甚至有可能像这样在飞行中刮擦吗?抓取是否使程序陷入困境?是否有其他建议的方法来获得类似的结果?

0 投票
1 回答
738 浏览

facebook - E107 重定向 facebook 抓取错误

这是我的 .htaccess 文件:

http://www.lf1medsoc.com/page.php?19的 Facebook linter 结果(可公开访问,无需登录等):

整个结果页面

报废信息

响应代码:200 获取 URL:http://www.lf1medsoc.com/page.php ? 19 规范 URL: http ://www.lf1medsoc.com/最终 URL: http://www.lf1medsoc.com/page。 php?2必须修复的错误

循环重定向路径:检测到循环重定向路径(有关详细信息,请参阅“重定向路径”部分)。

重定向路径

原文:http ://www.lf1medsoc.com/page.php? 19 og:url: http://www.lf1medsoc.com/ 302: http://www.lf1medsoc.com/page.php?2 og: url: http://www.lf1medsoc.com/ 最终 URL 以粗体显示(这是我们试图从中提取元数据的 URL)。属于循环重定向路径的 URL 会突出显示。

我在 htaccess 中遗漏了什么吗?有没有办法添加允许访问的 facebook 用户代理

注意:page.php?2 是主页(重定向自 lf1medsoc.com --> index.php --> page.php?2)

0 投票
1 回答
403 浏览

facebook-apps - Facebook Scraper 无法检索图像

在我的页面中,我有这个:

执行时呈现如下:

但 Facebook 刮板看到它是这样的:

它似乎没有考虑来自 Facebook 的图像。

0 投票
3 回答
4193 浏览

facebook - Facebook 分享按钮 - Scraper 不获取元标签

我一直在这个页面上工作 http://www.btselem.org/hebrew/131606

我决定添加 Facebook 分享按钮,但出于某种原因,每当我尝试分享时,Facebook 抓取工具都无法获取源中的任何元标记——它只显示网站的 URL。在 facebook 开发者调试工具中检查 URL 后,我得到了206 响应代码和以下错误:

无法下载 - 无法检索数据表单 URL

我还检查了“查看我们的抓取工具从您的 URL 中看到的确切内容”选项,似乎抓取工具只能读出以下行:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">

奇怪的是,这甚至不是我在页面源中获得的 DOCTYPE。我已经尝试将 DOCTYPE 更改为:

在我阅读了一些较早的帖子后说这应该可以解决问题,但这也不起作用——我不断地从刮板那里得到同样的结果。如果你们有任何提示或想法,我将不胜感激……</p>

我发布了源代码的第一部分,至少包含元标记的部分。如有必要,我将添加整个代码。提前致谢,

大卫。

0 投票
1 回答
10203 浏览

python - 在使用 Scrapy 进行身份验证时爬取 LinkedIn

因此,我已经阅读了在 Scrapy 中使用经过身份验证的会话的 Crawling并且我挂断了,我 99% 确定我的解析代码是正确的,我只是不相信登录正在重定向并成功。

我也遇到了 check_login_response() 的问题,不确定它正在检查哪个页面。虽然“退出”是有道理的。




====== 已更新 ======



通过在 self.initialized() 前面添加“Return”解决了该问题

再次感谢!-标记

0 投票
1 回答
897 浏览

ruby - 使用 Ruby 抓取并存储在哈希中

我编写了 Ruby scraper 从加利福尼亚参议院获取竞选财务数据,然后将每个人保存为哈希。这是到目前为止的代码:

这是主要网站:http ://cal-access.sos.ca.gov/Campaign/Candidates/

这是候选人页面的示例:http ://cal-access.sos.ca.gov/Campaign/Committees/Detail.aspx?id=1342974&session=2011&view=received

这是 github 存储库,如果您想在代码中查看我的评论:https ://github.com/aboutaaron/Baugh-For-Senate-2012/blob/master/final-exam.rb

上代码...

get_summary按计划工作。get_contributors按计划存储第一个贡献者<td>,但会执行 20 多次。在我弄清楚多重打印问题之前,我现在只选择获取名称。

最终目标是获得贡献者的哈希值以及他们所需的所有信息,并可能将它们移动到 SQL 数据库/Rails 应用程序中。但是,在此之前,我只想要一个工作刮刀。

有什么建议或指导吗?对不起,如果代码不是超级。编程的超级新手。

0 投票
1 回答
427 浏览

python - 使用代理从python中的网页下载源代码的最快方法是什么?

我已经在使用 urllib2 来使用代理获取页面,但是它花费的时间太长了,而且我知道使用代理需要更长的时间,但是如果我在 firefox 或 ie 中测试代理,仍然需要很长时间。

谢谢。