python爬虫淘宝商品信息数据储存到mysql
时间: 2024-01-21 22:12:31 浏览: 263
Python爬虫可以通过requests库获取淘宝商品信息,然后使用BeautifulSoup库解析网页内容,最后将数据存储到MySQL数据库中。具体步骤如下:
1. 安装requests、BeautifulSoup和pymysql库。
2. 使用requests库发送HTTP请求获取淘宝商品页面的HTML源代码。
3. 使用BeautifulSoup库解析HTML源代码,获取商品信息。
4. 使用pymysql库连接MySQL数据库。
5. 创建数据库和数据表。
6. 将商品信息插入到数据表中。
下面是一个示例代码,假设要爬取淘宝上关键字为“手机”的商品信息并存储到MySQL数据库中:
```python
import requests
from bs4 import BeautifulSoup
import pymysql
# 发送HTTP请求获取淘宝商品页面的HTML源代码
def get_html(keyword):
url = 'https://s.taobao.com/search?q=' + keyword
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'}
response = requests.get(url, headers=headers)
return response.text
# 解析HTML源代码,获取商品信息
def parse_html(html):
soup = BeautifulSoup(html, 'html.parser')
items = soup.find_all('div', class_='item J_MouserOnverReq ')
data = []
for item in items:
title = item.find('a').text.strip()
price = item.find('strong').text.strip()
data.append((title, price))
return data
# 连接MySQL数据库,创建数据表
def create_table():
conn = pymysql.connect(host='localhost', user='root', password='123456', db='test', charset='utf8mb4')
cursor = conn.cursor()
cursor.execute('DROP TABLE IF EXISTS taobao')
cursor.execute('CREATE TABLE taobao (id INT NOT NULL AUTO_INCREMENT, title VARCHAR(255) NOT NULL, price VARCHAR(255) NOT NULL, PRIMARY KEY (id))')
conn.commit()
conn.close()
# 将商品信息插入到数据表中
def insert_data(data):
conn = pymysql.connect(host='localhost', user='root', password='123456', db='test', charset='utf8mb4')
cursor = conn.cursor()
for item in data:
cursor.execute('INSERT INTO taobao (title, price) VALUES (%s, %s)', item)
conn.commit()
conn.close()
if __name__ == '__main__':
keyword = '手机'
html = get_html(keyword)
data = parse_html(html)
create_table()
insert_data(data)
```
阅读全文