我希望以某种方式改进汤的数据
1.在sou.findAll("div", class_="span-24")
的基础上优化数据
2.然后进一步细化数据,找到所有具有href
值的链接。
我正在运行下面给出的代码。
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
。
我做错了吗?
答案 0 :(得分:1)
href 将位于锚标记中,您试图将其从实际div中拉出来:
link.a.get('href'))
但是并非每个 div 类 span-24 都有一个锚标记,您可以使用css选择器来查找div中的锚标记:< / p>
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部分。