2013-04-17 40 views
0

我试图解析wiki页面here,但我只想要某些部分。主文章中的这些链接,我想分析一下。有没有关于如何做的文章或教程?我假设我会使用BS4。谁能帮忙?试图解析来自wiki的所有链接文本

具体而言;该页面中所有主标题下的链接。

+1

查看HTML以查看包含所需文本的标签,然后解析出这些标签下的所有内容。 –

+1

了解'lxml.html'和'xpath'。 – kev

+0

有通过快速搜索找到的教程http://bit.ly/ZqfWMa –

回答

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提取的主要内容股利。 (该ID mw-content-text可以在页面的源代码中找到)
  • 我们继续进行提取主要内容
  • for循环中,我们打印的所有环节中的所有链接。

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

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

的替代标题既然你问了资源:http://www.crummy.com/software/BeautifulSoup/bs4/doc/是您首先应该开始的地方。