首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解析网页的内容?

如何解析网页的内容?
EN

Stack Overflow用户
提问于 2009-08-05 13:47:03
回答 2查看 144关注 0票数 2

我正在编写一个特殊的爬虫类应用程序,需要检索各种页面的主要内容。只是为了澄清:我需要真正的“肉”页面(如果有一个,自然)

我尝试过各种方法:

  1. 很多页面都有rss提要,所以我可以读取提要,并获得这个页面特定的内容。
  2. 许多页面使用“内容”元标记。
  3. 在很多情况下,显示在屏幕中间的对象是页面的主要“内容”。

然而,这些方法并不总是有效的,我注意到Facebook做的非常出色(当您想附加链接时,它们会向您展示他们在链接页面上找到的内容)。

所以-你有什么建议告诉我我仔细看过的方法吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-05 14:09:46

对于网页来说,没有标准的方法来标记“这是肉”。大多数页面甚至不想这样做,因为这样可以更容易地窃取他们的核心业务。因此,您确实需要编写一个框架,它可以使用每个页面的规则来定位您想要的内容。

票数 1
EN

Stack Overflow用户

发布于 2009-08-05 13:59:10

你的问题还有点模糊。在大多数情况下,“爬虫”只需在网络上以文本格式查找数据,并对其进行存储、解析等处理。"Facebook屏幕截图“则完全是另一回事。

如果您只是在寻找一个基于web的爬虫,那么有几个库可以非常容易地用于遍历web页面的DOM,并且可以抓取您正在寻找的内容。

如果你使用的是Python,如果你使用的是美汤,试试杏子

如果您希望在稍后的日期处理网页的全部内容,只需获取并存储"html“标记下的所有内容。

下面是一个从页面中获取所有链接的BeautifulSoup示例:

代码语言:javascript
复制
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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1233366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档