爬取淘宝Python数据分析图书并保存到Excel中的代码
时间: 2024-05-19 17:10:45 浏览: 109
使用python爬取淘宝商品信息
5星 · 资源好评率100%
以下是使用 Python 爬取淘宝 Python 数据分析图书并保存到 Excel 中的示例代码:
```python
import requests
import re
import xlwt
def get_books():
url = 'https://s.taobao.com/search?q=python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20220106&ie=utf8'
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
# 使用正则表达式解析网页内容
pattern = re.compile('<div class="title">.*?<a href="(.*?)" target="_blank".*?>(.*?)</a>.*?</div>.*?<div class="price g_price g_price-highlight">.*?<strong>(.*?)</strong>.*?<div class="deal-cnt">(.*?)</div>', re.S)
result = re.findall(pattern, response.text)
return result
else:
return None
def save_to_excel(result):
book = xlwt.Workbook(encoding='utf-8', style_compression=0)
sheet = book.add_sheet('Python数据分析图书', cell_overwrite_ok=True)
row_0 = ['序号', '书名', '价格', '销量', '链接']
for i in range(len(row_0)):
sheet.write(0, i, row_0[i])
count = 1
for item in result:
sheet.write(count, 0, count)
sheet.write(count, 1, item[1])
sheet.write(count, 2, item[2])
sheet.write(count, 3, item[3])
sheet.write(count, 4, item[0])
count += 1
book.save('python_books.xls')
if __name__ == '__main__':
result = get_books()
if result:
save_to_excel(result)
print('数据已保存到 python_books.xls 文件中!')
else:
print('爬取失败')
```
这段代码使用了 requests 库发送 HTTP 请求,并使用正则表达式解析网页内容,最后将结果保存到 Excel 文件中。需要注意的是,因为淘宝有反爬机制,可能需要加上一些其他的处理方法才能成功爬取。
阅读全文