请帮我写出用python爬取京东商品数据的具体代码
时间: 2023-09-05 15:11:39 浏览: 119
当然可以,以下是一个简单的Python程序,可以使用 BeautifulSoup 和 requests 库来爬取京东商品数据:
```python
import requests
from bs4 import BeautifulSoup
# 设置请求头信息
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
# 输入要搜索的商品名称
keyword = input("请输入商品名称:")
# 构造请求URL
url = "https://search.jd.com/Search?keyword=" + keyword
# 发送请求并获取响应内容
response = requests.get(url, headers=headers)
# 使用 BeautifulSoup 解析响应内容
soup = BeautifulSoup(response.text, "html.parser")
# 获取商品列表
goods_list = soup.select("#J_goodsList > ul > li")
# 遍历商品列表并输出商品的名称、价格和链接
for goods in goods_list:
name = goods.select(".p-name em")[0].text.strip()
price = goods.select(".p-price i")[0].text
link = "https:" + goods.select(".p-name a")[0]["href"]
print("商品名称:", name)
print("商品价格:", price)
print("商品链接:", link)
print("----------------------")
```
在这段代码中,我们首先设置请求头信息,以便能够成功发送请求。然后我们让用户输入要搜索的商品名称,使用该名称构造请求URL,并发送请求。接下来,我们使用 BeautifulSoup 解析响应内容,获取商品列表,并遍历商品列表,输出商品的名称、价格和链接。
请注意,这只是一个简单的示例程序,它只能获取一页搜索结果。如果您想要获取更多的结果,您需要编写更复杂的代码来处理分页。另外,请注意,京东的网站结构可能会发生变化,因此这段代码可能无法长期运行,您需要根据实际情况进行调整。
阅读全文