gpt4 book ai didi

python - 递归解析维基百科并从包含的链接中获取文本

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:19 27 4
gpt4 key购买 nike

因为我讨厌在维基百科文章中来回点击阅读,所以我正在尝试构建一个工具来根据以下算法创建“扩展的维基百科文章”:

  • 创建两个变量:DepthLength
  • 将维基百科文章设置为种子页面
  • 解析这篇文章:每当有指向另一篇文章的链接时,获取第一个 Length 句子并将其包含在原始文章中(例如在括号中或以其他方式突出显示)。
  • 递归地执行此操作直到某个深度,即不超过两层。

结果将是一篇可以一次性阅读的文章,而无需总是来回点击...

您将如何在 Python 中构建这样的机制?应该使用哪些库(是否有用于此类任务的库)?有什么有用的教程吗?

最佳答案

您可以使用 urllib2用于请求网址。为了解析 html 页面,有一个名为 BeautifulSoup 的很棒的库。 .您需要考虑的一件事是,在使用爬虫扫描维基百科时,您需要在请求中添加标题。否则维基百科将拒绝被抓取。

 request = urllib2.Request(page)

添加标题

 request.add_header('User-agent', 'Mozilla/5.0 (Linux i686)')

然后加载页面并将其交给BeautifulSoup

 soup = BeautifulSoup(response)  
text = soup.get_text()

这将为您提供页面中的链接

 for url in soup.find_all('a',attrs={'href': re.compile("^http://")}):  
link = url['href']

现在关于抓取维基百科的算法,你想要的是一个叫做 Depth Limited Search 的东西。 .同一页面中提供了伪代码,很容易理解。

上述库的其他功能可以用谷歌搜索,很容易理解。祝你好运。

关于python - 递归解析维基百科并从包含的链接中获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12636974/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com