我在python中创建了一个脚本,从网页中获取表中的所有名称。该表中的名称在页面源中可用,因此它们是static content
。但是,当我尝试使用我的以下脚本时,我得到的很少(最多2012 Topps Heritage Run
),而列表则更多。
如何使用请求从Company Sets
标题下的表中获取所有名称?
我到目前为止尝试过:
import requests
from bs4 import BeautifulSoup
url = "https://www.psacard.com/psasetregistry/baseball/company-sets/16"
res = requests.get(url)
soup = BeautifulSoup(res.text,"lxml")
for item in soup.select(".dataTable tr td a[href*='/baseball/company-sets/']"):
print(item.text)
你能尝试以下方法吗?
print([inner_tag.find('a').text for inner_tag in soup.findAll('table')[0].findAll('td') if inner_tag.find('a')])
说明:
Company Sets
的表中提取文本您可以将请求与pandas read_html结合起来
import pandas as pd
import requests
url = 'https://www.psacard.com/psasetregistry/baseball/company-sets/16'
headers = {'User-Agent' : 'Mozilla/5.0'}
r= requests.get(url, headers= headers)
tables = pd.read_html(r.content)
df = tables[0]
df.drop(df.index[[0]], inplace = True)
print(df)