Python BS4无法选择正确的“范围”
我曾试图从某个网站上获取价格,下面是HTML代码的一个小示例: 可利用性: 有现货的 价格: £65.40 税后: £54.50 £65.40 * 类型及;额外费用: -请选择- 每个 数量: 我试图选择54.50英镑的价格,这是不含英国税的价格 我使用的代码如下: 导入请求 从bs4导入BeautifulSoup 作为pd进口熊猫 var1=请求。gethttps://www.website.co.uk, headers={'User-agent':'Mozilla/5.0 X11;Ubuntu;Linux x86_64;rv:61.0 Gecko/20100101 Firefox/61.0'} var2=var1.content soup=BeautifulSoupvar2,html.parser span=soup.findspan,{class:label} 价格=span.text 价格 输出:“库存中” 此“库存”位于HTML代码前面的几行 有现货的Python BS4无法选择正确的“范围”,python,python-3.x,web-scraping,beautifulsoup,Python,Python 3.x,Web Scraping,Beautifulsoup,我曾试图从某个网站上获取价格,下面是HTML代码的一个小示例: 可利用性: 有现货的 价格: £65.40 税后: £54.50 £65.40 * 类型及;额外费用: -请选择- 每个 数量: 我试图选择54.50英镑的价格,这是不含英国税的价格 我使用的代码如下: 导入请求 从bs4导入BeautifulSoup 作为pd进口熊猫 var1=请求。gethttps://www.website.co.uk, headers={'User-agent':'Moz
有人能告诉我正确的跨度方向吗?您选择了span=soup.findspan,{class:label},第一个带有类标签的跨度,您得到了它。通过span=soup.find_allspan,{class:label},limit=3[2]您选择了span=soup.findspan,{class:label},第一个带有类标签的span,您得到了期望值。您可以使用span=soup.find_allspan,{class:label},limit=3[2]获得所需的值。您可以使用CSS选择器第n个子项: 输出:
£54.50
您可以使用CSS选择器第n个子项: 输出:
£54.50
另一种方法
from simplified_scrapy.spider import SimplifiedDoc
html = '''your html
'''
doc = SimplifiedDoc(html) # create doc
span = doc.getElement('span', start="Price:")
print (span.text)
结果:
£65.40
另一种方法
from simplified_scrapy.spider import SimplifiedDoc
html = '''your html
'''
doc = SimplifiedDoc(html) # create doc
span = doc.getElement('span', start="Price:")
print (span.text)
结果:
£65.40
非常感谢托马斯,这非常有用。祝你度过愉快的一天。非常感谢托马斯,这非常有用。祝你有美好的一天。