我正在尝试解析此地址:
使用此代码并更改此代码:
import urllib
import urllib.request
from bs4 import BeautifulSoup
url=('http://www.bricklink.com/catalogPriceGuide.asp?P=3005&colorID=1&viewExclude=N&v=P')
page = urllib.request.urlopen(url)
soup = BeautifulSoup(page.read())
content = soup.find('table')
price=content.findAll('td')
print(price)
我几乎尝试了 table
、find
和 findAll
的所有组合,我想要的只是让它吐出最左边的表格类似的东西
Times Sold: 2958
Total Qty: 130610
Min Price: $0.0136
Avg Price: $0.0690
Qty Avg Price: $0.0659
Max Price: $0.3900
谁能告诉我我做错了什么并指出我正确的方向?
最佳答案
如果有一些id
、class
,请使用它。但在给定的 url 中,没有有用的 id
、class
。
使用文本文本如下:
>>> import re
>>> import urllib.request
>>>
>>> from bs4 import BeautifulSoup
>>>
>>>
>>> url = 'http://www.bricklink.com/catalogPriceGuide.asp?P=3005&colorID=1&viewExclude=N&v=P'
>>> page = urllib.request.urlopen(url)
>>> soup = BeautifulSoup(page.read())
>>> td = soup.find('td', text=re.compile('Times Sold'))
>>> tr_list = td.parent.parent.find_all('tr')
>>> for tr in tr_list:
... print(' '.join(td.text for td in tr.find_all('td')))
...
Times Sold: 2958
Total Qty: 130610
Min Price: $0.01
Avg Price: $0.07
Qty Avg Price: $0.07
Max Price: $0.39
关于python - 尝试解析表中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21249320/