如何抓取html网页创建一个总的主观网站

2024-09-27 19:31:55 发布

您现在位置:Python中文网/ 问答频道 /正文

提前谢谢你的帮助。在

我一直在努力寻找/编写一个可以执行以下操作的实用程序:

  1. 在指定站点(sitename)中爬网,查找站点上所有html页面中的各种字符串(a、b、c、d、e)以及特定的命名javascript文件(javascriptfile.js)

  2. 如果在单个页面上找不到javascript文件,请将页面的名称/url输出到文件中,然后继续爬网。

  3. 根据每个字符串在页面上的出现次数创建一个总分(每个字符串“a”得1分,每个字符串“b”得2分),等等。

我被困在第一部分——因为我没有编写爬行部分的编码技能。我尝试过Wget、pavuk、mechanize和一些php脚本,但它们似乎都受到了限制。在

任何人有什么例子或想法,我可以使用或修改其中一个提到的实用程序,或编写一个脚本来完成上述任务?在

我是开放的C,java,php,perl等等。。。--只想把这件事做完!在

非常感谢你的帮助!!!在


Tags: 文件字符串实用程序脚本名称url站点html
3条回答

我建议python's urllib。在

Fetching Web Pages

Fetching standard Web pages over HTTP is very easy with Python:

import urllib f = urllib.urlopen("http://www.python.org")
s = f.read()
f.close()

--this is from here

然后使用python's html parser

好吧,第1点是这样的(在PHP中):

只有这样你才能转到第2点和第3点

在指定站点(sitename)中爬网,在站点上的所有html页面中查找各种字符串(a、b、c、d、e)以及特定的命名javascript文件(javascriptfile.js)

在python中,您需要使用urllib。这将允许您轻松地与Http服务器通信。 然后你就可以搜索到正则表达式了。由于大多数服务器没有开放索引,您需要找到<a>标记,然后除去它们所指向的所有内容,然后获取一个新的目的地进行爬网。在

Get The Href Attribute From Anchor Tags

Compare Domains Make Sure They're The Same Or A Relative Path (start with '/')

Repeat Process

你可以查一下“美容小组”来帮你。它将为你完成阅读HTML的所有辛苦工作。Beautiful Soup

甚至可以帮助搜索你的字符串。在

如果在单个页面上找不到javascript文件,请将页面的名称/url输出到文件中,然后继续爬网。

您可以再次在这里使用beautifulsoup或RegEx来查看它们是否正确,包括在页面<script src='urltofile'>。然后把你正在抓取的当前页面写入一个文件。在

根据每个字符串在页面上的出现次数创建总分(每个字符串“a”得1分,每个字符串“b”得2分),等等。

这将完成您在页面上爬行的所有操作,使用Regex,您可以计算文本模式的特定实例发生的次数,所以您只需将这些添加到dict中并获得结果。 也许创建一个映射,这样score = {'a': 10}; IF a FOUND: points += score['a']*occurences。在

良好的Reg Exp引用:Regexp Info

相关问题 更多 >

    热门问题