【发布时间】:2021-01-24 14:46:03
【问题描述】:
我正忙着从 petango.com 上的项目列表中获取文本。下面的html截图 我使用 selenium 加载页面以使其加载。然后抓住它作为一个 bs 对象
PetSoup = BeautifulSoup(page_source, 'html.parser')
我试过了:
ul_tag = PetSoup.findAll('div', {'class': 'group details-list'})
pet_details = [i.get_text() for i in ul_tag]
print(pet_details)
这让我将所有项目作为一个列表对象(我认为),但我似乎无法解析它,因此我可以为每个项目分配变量(例如年龄:、品种:等)
['\n\nBreed: Chihuahua, Short Coat / Mix\nAge: 15y 5m Gender: Male\nColor: Black / Grey\nSpayed/Neutered: Yes\nSize: Small\nDeclawed: No\nAdoption Date: \n\n']
我也试过了:
for ultag in PetSoup.find_all('ul', {'class': 'group details-list'}):
for litag in ultag.find_all('li'):
print(litag.text)
这让我得到了所有的文本,但同样,似乎无法解析它以便能够分配变量
我真正想做的只是抓取 span 标签中的文本,但我似乎无法抓取它。我认为这与 span 标签的结构有关,但我似乎无法通过尝试 span 中项目的不同变体来获得它。我只是得到一个空的回报。具体跨度为:
<span data-bind="text: breed">Terrier, Rat / Mix </span>
谁能指出我正确的方向?谢谢您的帮助! 具体页面在这里: https://www.petango.com/Adopt/Dog-Terrier-Rat-22192827
【问题讨论】:
标签: python selenium web-scraping beautifulsoup