我正在编写一个Python网络爬虫程序来玩Wiki游戏。
如果您不熟悉此游戏:
我这样做的过程是:
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)
我意识到我是通过将所有链接从目标页面上抓取来获得指向目标的链接的,但是Wiki /链接是单向的:仅仅因为目标链接到页面并不意味着页面链接到目标。
如何获得链接到目标的文章列表?
Wikipedia有一个内置工具,可以执行您所描述的WhatLinksHere / Backlink。
您可以在每个Wikipedia页面上看到此工具。
您可以简单地将所有链接从目标页面的反向链接页面上刮掉。
'http://en.wikipedia.org/w/index.php?title=Special%3AWhatLinksHere&limit='500'&target='+goal+'&namespace=0'
^^^^
Article you are trying to reach here
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句