小编Ian*_*ian的帖子

从维基百科页面获取所有链接

我正在制作一个Python网络爬虫程序来玩维基游戏.

如果你不熟悉这个游戏:

  1. 从维基百科上的一些文章开始
  2. 选择目标文章
  3. 尝试通过单击wiki/links从开始文章中获取目标文章

我这样做的过程是:

  1. 以一篇文章和一篇目标文章作为输入
  2. 获取链接到目标文章的文章列表
  3. 预制棒广度优先搜索上的链接找到避免已经访问过的网页从一开始起文章
  4. 检查目标文章是否在当前页面上:如果是,则返回 path_crawler_took+goal_article
  5. 检查链接到目标的任何文章是否在当前页面上.如果其中之一是,请返回path_crawler_took+intermediate_article+goal

我有一个问题,程序将返回一个路径,但路径不会真正链接到目标.

def get_all_links(source):
    source = source[:source.find('Edit section: References')]
    source = source[:source.find('id="See_also"')]
    links=findall('\/wiki\/[^\(?:/|"|\#)]+',source)
    return list(set(['http://en.wikipedia.org'+link for link in links if is_good(link) and link]))

links_to_goal = get_all_links(goal)
Run Code Online (Sandbox Code Playgroud)

我意识到我通过抓取目标页面上的所有链接来获取目标的链接,但是wiki/links是单向的:仅仅因为目标链接到页面并不意味着页面链接到目标.

如何获得链接到目标的文章列表?

python web-crawler python-2.7

2
推荐指数
1
解决办法
1625
查看次数

标签 统计

python ×1

python-2.7 ×1

web-crawler ×1