我是网络爬虫的初学者。我试图抓取一个页面,例如,此页面: http://shopping.yahoo.com/search;_ylt=AkzLiLhD9_ulIJy.SYsw9T0bFt0A?p=video&did=0如何抓取网页?
我需要提取搜索结果,例如:Amazon.com或antonline.com。任何机构可以帮助我命名一些技术,工具,sw,可以帮助我实现这一目标吗?
编辑:我有Java的工作。
我是网络爬虫的初学者。我试图抓取一个页面,例如,此页面: http://shopping.yahoo.com/search;_ylt=AkzLiLhD9_ulIJy.SYsw9T0bFt0A?p=video&did=0如何抓取网页?
我需要提取搜索结果,例如:Amazon.com或antonline.com。任何机构可以帮助我命名一些技术,工具,sw,可以帮助我实现这一目标吗?
编辑:我有Java的工作。
基本想法是检查在浏览器devtools(Chrome或萤火虫)页面。尝试找到特殊的ID或类。在您的网页上,这是<ul class='hproducts'>
,它有一个列表<li class='hproduct'>
使用它!
然后你打电话,得到回应并解析它。 (Google for DOM,SAX,XPath ...)这在语言和库之间是非常不同的。例如在Java中,我们有JSoup库,可以获取html(在这种情况下,它与xml有点不同),并以便捷的方式解析它。
或者为他们的API更好的谷歌;)
硒的webdriver可以做到这一点:
http://seleniumhq.org/projects/webdriver/
我曾经使用过它与红宝石提取一年前,但它仍然是可用于Java。
看的Watir也:(http://watir.com)
文章中的示例:(使用Ruby)
你也可以寻找的HtmlUnit库。
下面的的HtmlUnit例如报废(提取)网页的HTML元素:
在阅读从URL文件。这将是所有标记。
应用正则表达式使用页面中找到的模式提取数据。
检查标记和数据梳理出图案,然后写正则表达式来提取数据。我在这里假设你会想要每个项目的标题和价格。因此,例如,我在您的示例文件中看到所有标题均包含在<li class ='hproduct'>
中,所有价格都在<p class='price'>
之内。编写一个正则表达式,以这种顺序查找这些div的内容。
您正在使用哪些编程语言/技术/库? – madhead
是否只想抓取某些网站或类似网络蜘蛛的所有内容?如果你只是想从一个页面中提取文本,你可以使用像红宝石运行的nokogiri这样的工具。 – three
请参阅编辑。 Java的。 –