0

我正在尝试在这里解析一个 wiki 页面,但我只想要某些部分。主要文章中的那些链接,我想全部解析。有没有关于如何做的文章或教程?我假设我会使用BS4。任何人都可以帮忙吗?

具体来说;页面中所有主要标题下的链接。

4

1 回答 1

1

好吧,这实际上取决于您所说的“解析”是什么意思,但这里有一个完整的工作示例,说明如何使用 BeautfulSoup 从主要部分中提取所有链接:

from bs4 import BeautifulSoup
import urllib.request

def main():
    url = 'http://yugioh.wikia.com/wiki/Card_Tips%3aBlue-Eyes_White_Dragon'
    page = urllib.request.urlopen(url)
    soup = BeautifulSoup(page.read())
    content = soup.find('div',id='mw-content-text')
    links = content.findAll('a')
    for link in links:
        print(link.get_text())

if __name__ == "__main__":
    main()

此代码应该是不言自明的,但以防万一:

  • 首先,我们打开页面urllib.reauest.urlopen并将其内容传递给 BS
  • 然后我们通过 id 提取主要内容 div。(idmw-content-text可以在页面的源代码中找到)
  • 我们继续提取主要内容中的所有链接
  • 在一个for循环中,我们打印所有链接。

其他方法,您可能需要解析链接:

  • link.get('href')提取目标网址
  • link.get('title')提取链接的替代标题

由于您要求资源:http ://www.crummy.com/software/BeautifulSoup/bs4/doc/是您应该开始的第一个地方。

于 2013-04-17T11:54:18.703 回答