Python 爬虫,<span> ...</span>中间的京东商品价格

如题目所示,页面信息如下可以获得商品名称,但是价格是空的,用了好几种方法。

图片描述

import requests
from lxml import etree
from lxml import html


import urllib.request
from bs4 import BeautifulSoup

url = "https://item.jd.com/5056201.html"
page = requests.get(url)
tree = html.fromstring(page.text)
selector = etree.HTML(page.text)

ProductNameP = '/html/body/div[5]/div/div[2]/div[1]/text()'
Name = selector.xpath(ProductNameP) #获得字符串
print(Name)

ProductPriceP ='/html/body/div[5]/div/div[2]/div[3]/div/div[1]/div[2]/text()'
Price = selector.xpath(ProductPriceP)
阅读 5.2k
5 个回答
price = selector.xpath("//span[@class='price']/text()")

是 JS 渲染的

抓这个链接

商品的价格是通过js请求接口渲染的

新手上路,请多包涵

你可以利用浏览器的F12监控network下的请求,可以找到价格的请求,不同商品的价格是利用不同的id请求的,所以...

新手上路,请多包涵

直接selenium+bs4解析多爽,干嘛还用这个呢

xpath该这么写:"//span[@class='price J-p-5056201']/text()|//span[@class='price J-p-p-5056201']/text()"

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题