我正在维基百科上没有上课的表格,并且到目前为止得到了以下输出:
<a href="/wiki/link1" title="name1">name1</a>
<a href="/wiki/link2" title="name2">name2</a>
<a href="/wiki/link3" title="name3">name3</a>
我需要的是引号中的内容和尖括号之间的名称,但我找不到如何获取它。到目前为止,这是我的代码。
import requests
from bs4 import BeautifulSoup
url = 'https://en.wikipedia.org/wiki/List_of_United_States_cities_by_population'
source_code = requests.get(url) # Read source code
plain_text = source_code.text # Source code in unicode
soup = BeautifulSoup(plain_text, "html.parser") # create BS object
table = soup.find(text="2016 rank").find_parent("table")
for row in table.find_all("tr")[1:]:
print(row.find_all('a')[0])
我是BS新手,必须弄清楚它的工作原理。希望有人能在这里帮助我。
答案 0 :(得分:1)
要获取引号中包含的值,您可以使用.attrs
字段 - 它是字典标记属性及其值:
print(row.find_all('a')[0].attrs['href'])
print(row.find_all('a')[0].attrs['title'])
要在>
字符后拉出部分,您可以使用.contents
:
print(row.find_all('a')[0].contents)