【发布时间】:2020-08-24 08:23:18
【问题描述】:
我想从这个页面抓取“服务/产品”部分:https://www.yellowpages.com/deland-fl/mip/ryan-wells-pumps-20533306?lid=1001782175490
文本位于 dd 元素内,该元素始终位于该元素之后
import requests
from lxml import html
url = ""
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0'}
session = requests.Session()
r = session.get(url, timeout=30, headers=headers)
t = html.fromstring(r.content)
products = t.xpath('//dd[preceding-sibling::dt[contains(.,"Services/Products")]]/text()[1]')[0] if t.xpath('//dd[preceding-sibling::dt[contains(.,"Services/Products")]]') else ''
有没有什么方法可以使用 Beautifulsoup(如果可能的话,还有 css 选择器)而不是 lxml 和 xpath 来获取相同的文本?
【问题讨论】:
标签: python web-scraping beautifulsoup lxml