我正在编写一个特殊的爬虫类应用程序,需要检索各种页面的主要内容。只是为了澄清:我需要真正的“肉”页面(如果有一个,自然)
我尝试过各种方法:
然而,这些方法并不总是有效的,我注意到Facebook做的非常出色(当您想附加链接时,它们会向您展示他们在链接页面上找到的内容)。
所以-你有什么建议告诉我我仔细看过的方法吗?
谢谢!
发布于 2009-08-05 14:09:46
对于网页来说,没有标准的方法来标记“这是肉”。大多数页面甚至不想这样做,因为这样可以更容易地窃取他们的核心业务。因此,您确实需要编写一个框架,它可以使用每个页面的规则来定位您想要的内容。
发布于 2009-08-05 13:59:10
你的问题还有点模糊。在大多数情况下,“爬虫”只需在网络上以文本格式查找数据,并对其进行存储、解析等处理。"Facebook屏幕截图“则完全是另一回事。
如果您只是在寻找一个基于web的爬虫,那么有几个库可以非常容易地用于遍历web页面的DOM,并且可以抓取您正在寻找的内容。
如果你使用的是Python,如果你使用的是美汤,试试杏子
如果您希望在稍后的日期处理网页的全部内容,只需获取并存储"html“标记下的所有内容。
下面是一个从页面中获取所有链接的BeautifulSoup示例:
require 'hpricot'
require 'open-uri'
doc = Hpricot(open("http://www.stackoverflow.com"))
(doc/"a").each do |link|
puts link.attributes['href']
end编辑:如果你主要是从相同的网站抓取内容(例如,Reddit的评论部分,StackOverflow的问题,Digg链接等),你可以硬编码它们的格式,这样你的爬虫就可以说:“好吧,我在Reddit上,用'thing‘类获取所有东西。你也可以给它一个默认查找的列表,比如带有"main”类/id、" content“、"center”等的div。
https://stackoverflow.com/questions/1233366
复制相似问题