2
我正在制作一个Python网络爬虫程序来播放The Wiki game。获取维基百科页面上的所有链接
如果你不熟悉这个游戏:
- 开始从维基百科 一些文章
- 选择一个目标文章
- 尝试只通过点击维基去从一开始就文章的目的文章/链接
我的过程中这样做是:
- 以启动文章和目标的文章作为输入
- 获取链接到目标物品
- 瓶坯的链接breadth-first search发现避免已经访问过的网页从一开始的文章 开始的文章列表
- 检查目标文章是否在当前页面上:如果是,则返回
path_crawler_took+goal_article
- 检查是否有任何链接到目标的文章位于当前页面上。如果其中之一是,返回
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)
我意识到,我被刮的所有环节的断目标页面的获取链接的目标,但维基/链接是单向的:只是因为我们的目标链接指向的网页并不意味着页面链接到目标。
如何获得链接到目标的文章列表?
退房维基百科的反向链接工具http://en.wikipedia.org/wiki/Special:WhatLinksHere/Backlink –