2012-09-08 96 views
0

我试图从网页中解析文本,从this page开始。这个页面有链接到最后一页的链接(这也可以手动移动到文本文件;为了避免编码的额外努力)。在左侧的最后一页有一个页面索引。每个页面也有一个页面索引。页面索引位于每个页面的顶部。从这个项目列表中,我只需要提取一行以'配置','配置示例'或'示例'开始的行。从网页中提取文本

这个任务看起来很简单,但手动操作却很艰巨且难以跟踪。如果可以从任何爬行的工具中提取此信息,并按照发现的顺序记录这些项目的层级顺序。可能在一些简单的格式中,它也包含超链接或至少与普通的制表符分隔的文本文件一样。

该网页信息是公开的,可下载。如果很难通过网络提取可能我也可以尝试下载,并尝试离线。

我试图做这方面的研究,看看LinksGrabber,WebParser,BeautifulSoup或解析文本与正则表达式可以做调整。但是我离实施这个想法还有几光年。

这是我正在尝试用Python实现还是以现实主义的方式来解决这个问题。

PS:我知道这是网络抓取,但我只是为了个人教育的目的而这样做,并没有持有商业价值或任何关联。

+6

无论你做什么,都不要使用[正则表达式来解析HTML](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) .. –

+1

lxml是我会这样做的方式。看看我的答案在这里:http://stackoverflow.com/questions/12073781/parsing-html-documents-using-lxml-in-python/12073964#12073964 –

+1

并看看[Scrapy](http:// scrapy。 org /),它可以自动为您抓取网页。 –

回答

1

您应该尝试Scrapy。在那里你可以设置模型,它将包含你想要从页面中获得的数据,例如

from scrapy.item import Item, Field 

class Torrent(Item): 
    url = Field() 
    name = Field() 
    description = Field() 
    size = Field() 

你可以写一个蜘蛛来抓取这些数据。 Scrapy at a glance

+0

10q为输入,这里是我的网址:_http://tinyurl.com/mp238t,我正在尝试。想知道你是否举了一些更近的​​例子。我肯定会自己尝试,但是我的速度会很慢,因为这对我来说是全新的。 – user1582596

+0

@ user1582596这对某些人来说都是新鲜的。把它看作是一个学习的机会,而不是一个地方去使用别人不懂的代码。 – msw