2016-07-28 326 views
-1

我使用BeautifulSoup来抓取一些网页数据,我真的无法计算如何刮取特定的'title ='标签内<a href link </a>如何使用python抓取<a href标签内的数据BeautifulSoup

直到现在我得到的输出与此代码:

import urllib2 
    from bs4 import BeautifulSoup 

    hdr = {'Accept': 'text/html,application/xhtml+xml,*/*',"user-agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36"} 
    url = 'REMOVED' 

    req=urllib2.Request(url,headers=hdr) 
    urllib2.urlopen(url).read() 
    html = urllib2.urlopen(req).read() 
    soup=BeautifulSoup(html,"html5lib") 

    players = soup.find_all("td", {"data-title": "Navn"}) 

    player_data = "" 
    saveFile = open('player_data.txt','w') 

for item in players: 

    player_data = item.contents[0].encode("utf-8") 
    print player_data 
    saveFile.write (player_data) 

saveFile.close()  

我得到的数据行的格式如下:

<a href="/da/player/123/lionel-messi/" title="Lionel Messi">Lionel Messi</a> 

任何人都可以请帮我得到规范从“标题=” IFIC的名字,我似乎无法得到它的工作...

感谢提前:)

+0

哦,对不起,如果你认为这是一个重复的...即时通讯相当新的进入Python编程,并一直坚持这个问题2天现在,相信我,我已阅读并尝试了很多aproaches这个,也从类似的问题stackoverflow,但我还没有看到类似于我的问题的另一个问题.. 。请链接到我原来的问题,谢谢;) - 我认为这可能是相当容易克服多年的Python经验,但我没有'吨:) – BulletEyeDK

回答

3

为了得到HREF代码标题:

players = soup.find('a')['title'] 

输出:

Lionel Messi 

什么是soup.find('a')['title']

  • .find('a')意味着找到一个href标记
  • ['title]意味着得到一个标签的标题属性
+0

感谢您的评论,不知何故...我仍然无法计算如何得到它的工作,即时通讯抱歉,但即时通讯非常新的工作与蟒蛇...我可以解决这个“单行”的代码用我的实际代码行:players = soup.find_all(“td”,{“data-title”:“Navn”}),因为这个人需要在那里...否则我没有数据开始 – BulletEyeDK

+0

运行确切的代码行给我这个错误:TypeError:'NoneType'对象不可迭代 – BulletEyeDK

+0

感谢您提供有用的信息,我使用'code' player_data = item.contents [0] ['title']。 “utf-8”)'code''谢谢;) – BulletEyeDK