用python语言编写程序,从淘宝上查找一件商品的价格(商品型号自定),以“商品名:价格”的形式,采集10行数据存入文本文件(格式自定),用爬虫的方式爬取数据
时间: 2024-03-29 07:36:57 浏览: 67
使用python爬取淘宝商品信息
5星 · 资源好评率100%
好的,以下是Python代码,可以实现您的需求。请注意,这个程序需要用到requests和BeautifulSoup库,您需要先安装它们。
```python
import requests
from bs4 import BeautifulSoup
# 输入要查找的商品名称和要爬取的数据行数
product_name = input("请输入要查找的商品名称:")
num_of_data = int(input("请输入要爬取的数据行数:"))
# 构造请求头,以避免被反爬虫
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.36'}
# 爬取数据,并将结果写入文件
with open('result.txt', 'w') as f:
for i in range(1, num_of_data+1):
url = f"https://s.taobao.com/search?q={product_name}&s={i*44}"
res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')
items = soup.select('div.item.J_MouserOnverReq')
for item in items:
name = item.select('div.row.row-2.title')[0].text.strip()
price = item.select('div.price.g_price.g_price-highlight strong')[0].text.strip()
f.write(f"{name}:{price}\n")
```
在这个程序中,我们首先让用户输入要查找的商品名称和要爬取的数据行数。然后,我们构造请求头,以避免被反爬虫。接着,我们使用循环来爬取指定数量的数据,并将结果写入文件。
在每次循环中,我们构造URL,并向其发送GET请求。然后,我们使用BeautifulSoup库来解析HTML文档。我们选择所有商品的容器,并用循环遍历每个容器。对于每个容器,我们选择商品名称和价格,并将它们写入文件。注意,我们将商品名称和价格之间用冒号分隔,并在末尾添加一个换行符。
这个程序会将结果写入名为result.txt的文本文件中。如果您想要修改输出格式或文件名,可以根据自己的需要进行更改。
阅读全文