2016-07-28 3 views
-1

파이썬 2.7.12에서 문제가 생겨서 일부 웹 페이지 데이터를 긁어 모으기 위해 BeautifulSoup을 사용했지만, 특정 'title ='태그를 긁는 방법을 알 수 없습니다. <a href link </a>파이썬으로 <a href 태그 내 데이터를 grap하는 방법 BeautifulSoup

내에서 지금까지이 코드와 출력을 얻을 :

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

사람이 스펙을 얻기 위해 도와 주 시겠어요 :

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()  

나는이 형식의 데이터 라인을 얻을 '= 제목'난 그냥이 작동 얻을 수없는 것에서 IFIC 이름 ... 사전 :

+0

잘 아, 미안 메신저 태그에서 title 속성을 얻을 의미 , 그리고 2 일 동안이 문제에 붙어 있었고, 나를 믿어, 나는 이것에 대한 수많은 질문을 읽었으며, stackoverflow와 비슷한 quostions에서도 시도했지만, 내 문제와 비슷한 또 다른 질문을 보지 못했다. . 원래 질문에 저에게 링크를 부탁드립니다, 감사합니다.) - 아마도 이것은 수년간의 파이썬 경험으로 극복하기가 쉽지만, t :) – BulletEyeDK

답변

3

에서

감사 HREF 코드에서 제목을 얻기 위해 :

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

출력 :

Lionel Messi 

soup.find('a')['title'] 무엇입니까?

  • .find('a')은 A HREF 태그를 찾을 의미
  • ['title]은 당신이 파이썬 프로그램에 중복 ... 메신저 꽤 새로운 생각한다면
+0

당신의 코멘트를 주셔서 감사합니다. 어떻게 든 ... 나는 아직도 그것을 작동시키는 방법을 모르겠다. 미안하지만, 나는 꽤 파이썬으로 신선한 일을한다. 나는 이것을 "one-liner"코드로 해결할 수 있을까? 내 실제 코드 줄은 다음과 같습니다 : players = soup.find_all ("td", { "data-title": "Navn"})이 코드는 거기에 있어야합니다. 그렇지 않으면 나는 시작할 데이터가 없습니다 – BulletEyeDK

+0

정확한 코드 줄을 실행하면 다음과 같은 오류가 발생합니다. TypeError : 'NoneType'개체가 반복 가능하지 않습니다. – BulletEyeDK

+0

유용한 정보를 제공해 주셔서 감사합니다. 나는'code'를 사용하여 작업했습니다. player_data = item.contents [0] [ 'title'] .encode "utf-8")'code'' 감사합니다;) – BulletEyeDK