python爬取淘宝首页详细代码
时间: 2023-09-13 20:11:01 浏览: 101
python爬取淘宝商品详情页数据
以下是使用 Python 爬取淘宝首页的详细代码:
```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 = '手机'
# 爬取淘宝搜索页面
def get_taobao_search(keyword):
url = 'https://s.taobao.com/search?q=' + keyword
try:
r = requests.get(url, headers=headers)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
print('爬取失败')
# 解析搜索页面,获取商品列表
def parse_taobao_search(html):
soup = BeautifulSoup(html, 'html.parser')
goods_list = []
for item in soup.find_all('div', class_='item J_MouserOnverReq '):
goods = {}
goods['title'] = item.find('div', class_='title').text.strip()
goods['price'] = item.find('strong').text
goods['deal'] = item.find('div', class_='deal-cnt').text[:-3]
goods['shop'] = item.find('div', class_='shop').text.strip()
goods_list.append(goods)
return goods_list
# 打印商品列表
def print_goods_list(goods_list):
for goods in goods_list:
print('商品名:', goods['title'])
print('价格:', goods['price'])
print('付款人数:', goods['deal'])
print('店铺:', goods['shop'])
print()
html = get_taobao_search(keyword)
goods_list = parse_taobao_search(html)
print_goods_list(goods_list)
```
在上述代码中,我们首先定义了一个 `headers` 来模拟浏览器访问。然后定义了一个 `get_taobao_search` 函数来爬取淘宝搜索页面,并使用 `BeautifulSoup` 库来解析页面。接着定义了一个 `parse_taobao_search` 函数来解析搜索页面,获取商品列表。最后定义了一个 `print_goods_list` 函数来打印商品列表。在主函数中,我们先爬取淘宝搜索页面,然后解析搜索页面,获取商品列表,最后打印商品列表。
阅读全文