Tag: web scraping

可以检测页面抓取吗?

所以我刚刚为我创建了一个为页面抓取的应用程序,然后运行它。 它工作正常。 我想知道是否有人能够弄清楚代码是否被页面删除,无论他们是否为此目的编写代码? 我用java编写代码,它只是检查一行html代码。 在我将更多代码添加到此程序之前,我想我会对此有所了解。 我的意思是它很有用,而且它几乎就像一个黑客。 看起来像最糟糕的情况,因为这个页面刮板不是太糟糕,因为我可以稍后使用另一个设备,IP将是不同的。 也可能在一个月内无关紧要。 该网站目前似乎正在获得相当多的网络流量。 编辑页面的人现在可能已经睡着了,此时它实际上还没有完成任何事情,所以这可能会被忽视。 感谢您的快速回复。 我想它可能已被忽视了。 我所做的只是复制一个标题,所以只是文字。 我想这可能类似于浏览器复制粘贴的工作原理。 该页面刚刚在今天早上编辑,包括我试图获得的文字。 如果他们确实注意到了什么,他们还没有宣布,所以一切都很好。

Selenium偶尔会出现UnreachableBrowserException

我试图通过在Java中使用Selenium来访问多个网站。 偶尔,我得到一个UnreachableBrowserException 。 我已经读过很多关于这个错误的线索,但似乎有很多不同的错误原因。 当我尝试访问新页面时,我得到的错误大约是1%的时间,我发现事件之间没有任何相似之处。 我目前正在使用Firefox,但我也尝试过Internet Explorer并遇到过类似的错误。 我一次只打开一个页面并尝试使用相同的窗口并在尝试访问另一个页面之前完全退出驱动程序,无论哪种方式仍然出现错误。 重要的是要注意我并不总是得到这个错误有时我的代码可以运行而不会发生这种情况。 这是错误消息: Jan 12, 2015 10:39:40 PM org.apache.http.impl.execchain.RetryExec execute INFO: I/O exception (java.net.SocketException) caught when processing request to {}- http://127.0.0.1:7055: Permission denied: connect Jan 12, 2015 10:39:40 PM org.apache.http.impl.execchain.RetryExec execute INFO: Retrying request to {}->http://127.0.0.1:7055 Jan 12, 2015 10:39:40 PM org.apache.http.impl.execchain.RetryExec execute INFO: I/O exception (java.net.SocketException) caught […]

网页抓取,屏幕抓取,数据挖掘技巧?

我正在研究一个项目,我需要做很多屏幕抓取才能尽快获得大量数据。 我想知道是否有人知道任何好的API或资源来帮助我。 顺便说一下,我正在使用java。 这是我的工作流程到目前为止: 连接到网站(使用Apache的HTTPComponents) 网站包含一个部分,其中包含一些我需要访问的链接(使用内置的Java HTML解析器来确定我需要访问的所有链接是什么,这是烦人且杂乱的代码) 访问我找到的所有链接 对于我访问的每个链接,我需要提取更多数据,分布在多个页面上,因此我可能需要访问更多链接 思考: 有没有人知道任何更高级别/更智能的HTML解析器比内置的java解析器? 基本上它是深度优先搜索。 我想我想在某个时候制作这个multithreading,所以我可以并行访问其中的一些链接。 也许我真正想要的是一个multithreading网络爬行库 如果你还没弄明白,这是我第一次搞乱这个问题,所以我很难说清楚我的需求是什么。 我非常感谢任何以前做过此事的人的任何意见。

单击按钮以使其可见后解析HTML表

我正在开发一个Java程序,它需要在启动时从网站读取数据。 有问题的网站是这样的: http : //bitcoincharts.com/charts/btceUSD#rg10zigHourlyztgSzm1g10zm2g25zv 要访问所需的表,页面底部附近有一个标题为“加载原始数据”的按钮。 单击时,将显示包含所需信息的表。 虽然我以前从未这样做过,但我相信我可以轻松地学习如何解析表格并将其放入某些数组中。 然而,我无法弄清楚的是如何让我的程序“点击”该按钮以使表格显示。 我该怎么做呢? 编辑:这是我现在正在使用的。 目前这打印绝对没有,我怀疑这是因为jsoup没有看到表,因为“加载原始数据”按钮没有被“点击”。 for (Element table : doc.select(“table[id=chart_table]”)) { for (Element row : table.select(“tr:gt(2)”)) { Elements tds = row.select(“td:not([rowspan])”); for (Element element : tds) { System.out.println(element); } } }

如何使用Selenium的java接口从站点上传文件

我是selenium发展的新手,我需要“刮”这个页面: https://annunci.ebay.it/pubblica-annuncio 在此页面中,使用jquery上传图像。 我需要在java中使用selenium来做同样的事情。 有人可以给我一些建议吗? 谢谢!! 🙂 这是我尝试的: WebDriver d = new FirefoxDriver(); d.get(“https://annunci.ebay.it/pubblica-annuncio”); List elements = d.findElements(By.tagName(“input”)); for(WebElement e : elements){ System.out.println(e.getAttribute(“name”)); }

如何从网页中提取文本内容?

我正在开发一个java应用程序,它可以从不同的网页获取文本信息,并将其汇总到一个页面。例如,假设我在不同的网页上有新闻,如印度教,印度时报,政治家等。现在我的应用程序应该从这些页面的每一个中提取重要点,并将它们作为单个新闻组合在一起。应用程序基于Web内容挖掘的概念。作为该领域的初学者,我无法理解从哪里开始我已经通过研究论文解释了噪声去除作为建立这个应用程序的第一步。 所以,如果给我一个新闻网页,第一步是从页面中提取主要新闻,不包括超链接,广告,无用图像等。 我的问题是我该怎么做? 请给我一些很好的教程,解释使用Web内容挖掘实现这种应用程序。或者至少给我一些提示如何实现它?

Web挖掘或抓取或爬行? 我应该使用什么工具/库?

我想抓取并将一些网页保存为HTML。 比如说,爬进数百个热门网站,只需保存他们的前台和“关于”页面。 我调查了很多问题,但是没有从网页抓取或网页抓取问题中找到答案。 我应该使用什么库或工具来构建解决方案? 或者甚至有一些现有的工具可以处理这个?

NoClassDefFoundError:Selenium for ChromeDriver中的org / apache / http / HttpEntity?

当我尝试从该网站访问数据时,我正试图从使用Selenium自动化的网站获取数据 run: Starting ChromeDriver (v2.9.248315) on port 15621 Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/http/entity/ContentType at org.openqa.selenium.remote.HttpCommandExecutor$EntityWithEncoding.(HttpCommandExecutor.java:411) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:306) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:66) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:568) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:240) at org.openqa.selenium.chrome.ChromeDriver.startSession(ChromeDriver.java:181) at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:126) at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:139) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:160) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:149) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:106) at pocmandi.PocMandi.main(PocMandi.java:32) Caused by: java.lang.ClassNotFoundException: org.apache.http.entity.ContentType at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) […]

任何Java等同于PhantomJS?

我想知道是否有任何类似于PhantomJS的Java库。 我想要实现的是能够模拟表单登录并从网页提交动作,以及也可以进行页面抓取。 我知道jsoup可以进行页面抓取而不是页面自动化。 提前致谢! 干杯,亚历克斯

使用Javascript获取最终HTML将Java呈现为字符串

我想从HTML页面获取数据(刮掉它)。 但它包含javascript的评论。 在普通的java url fetch中,我只获取了没有执行Javascript的HTML(实际的)。 我想要执行Javascript的最终页面。 示例: – http://www.glamsham.com/movies/reviews/rowdy-rathore-movie-review-cheers-for-rowdy-akki-051207.asp 此页面的评论为facebook插件,以Javascript格式提取。 即使在此也类似于此。 http://www.imdb.com/title/tt0848228/reviews 我该怎么办?