2016-07-12 4 views
2

を洗練する方法。 私は以下のコードを実行しています。さらに私は<code>sou.findAll("div", class_="span-24")</code> 2に基づいて 1.絞り込みデータはその後、さらにデータを絞り込むと<code>href</code>値を持つすべてのリンクを見つけることのようにスープのデータを絞り込むたいBeautifulSoupデータ(のpython3)

import re 
import urllib.request 
from bs4 import BeautifulSoup 

url = "http://tribune.com.pk/" 

req = urllib.request.Request(url, headers={'User-Agent': 'Chrome/51.0.2704.103'}) 
htm = urllib.request.urlopen(req).read() 
sou = BeautifulSoup(htm,"html.parser") 


data = sou.findAll("div", class_="span-24") 

for link in data: 
    print(link.get('href')) 

出力にはnoneが与えられています。 何か間違っていますか?

答えて

1

は、あなたが実際のdivからそれを引くしようとしているアンカータグにされるだろうHREF スパンは、24クラスを持つすべてののdiv

link.a.get('href')) 

しかししていませんアンカータグを使用すると、CSSセレクタを使用してdiv内にあるアンカータグを見つけることができます。

import re 
import urllib.request 
from bs4 import BeautifulSoup 

url = "http://tribune.com.pk/" 

req = urllib.request.Request(url, headers={'User-Agent': 'Chrome/51.0.2704.103'}) 
htm = urllib.request.urlopen(req).read() 
soup = BeautifulSoup(htm,"html.parser") 


data = soup.select("div.span-24 a[href]") 

for a in data: 
    print(a["href"]) 

実際にあなたにかなりのリンクが与えられます.HTMLのどの部分から実際にリンクを得たいのか、より具体的にする必要があります。

関連する問題