Python在每个Div中首先解析Href
给定以下代码:Python在每个Div中首先解析Href,python,beautifulsoup,Python,Beautifulsoup,给定以下代码: # import the module import bs4 as bs import urllib.request import re masterURL = 'http://www.metrolyrics.com/top100.html' sauce = urllib.request.urlopen(masterURL).read() soup = bs.BeautifulSoup(sauce,'lxml') for div in soup.findAll('ul'
# import the module
import bs4 as bs
import urllib.request
import re
masterURL = 'http://www.metrolyrics.com/top100.html'
sauce = urllib.request.urlopen(masterURL).read()
soup = bs.BeautifulSoup(sauce,'lxml')
for div in soup.findAll('ul', {'class': 'song-list'}):
for span in div:
for link in span:
for a in link:
print(a)
我可以解析多个div,结果如下:
我的问题是如何只返回突出显示的部分,即Href的URL,而不是获取div的全部内容
if 'href' in a.attrs:
a.attrs['href']
这会给你你所需要的 试试这个。您需要指定正确的
类
,以获取连接到它的URL
from bs4 import BeautifulSoup
import urllib.request
masterURL = 'http://www.metrolyrics.com/top100.html'
sauce = urllib.request.urlopen(masterURL).read()
soup = BeautifulSoup(sauce,'lxml')
for div in soup.find_all(class_='subtitle'):
print(div.get("href"))
输出:
http://www.metrolyrics.com/charles-goose-lyrics.html
http://www.metrolyrics.com/param-singh-lyrics.html
http://www.metrolyrics.com/westlife-lyrics.html
http://www.metrolyrics.com/luis-fonsi-lyrics.html
http://www.metrolyrics.com/grease-lyrics.html
http://www.metrolyrics.com/shanti-dope-lyrics.html
等等--a.get('href')
你试试这个吗?