超详细python实现爬取淘宝商品信息(标题、销量、地区、店铺等)

365bet日博亚洲 ⌛ 2025-11-08 17:42:59 👤 admin 👁️ 5580 ❤️ 994
超详细python实现爬取淘宝商品信息(标题、销量、地区、店铺等)

引导

因为数据可视化这门课程的大作业要自己爬取数据,想着爬取淘宝的数据,结果找了不少文章都不太行、或者已经失效了等等,就边学边看边写搓了一份代码出来,一是为了记录一下、二是如果大家有需要也可以使用。

首先看最后爬取的数据的效果:

代码部分

引入第三方库

import pymysql

from selenium import webdriver

from selenium.common.exceptions import TimeoutException

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from pyquery import PyQuery as pq

import time

import random

第三方库主要用到了 pymysql 和 selenium ,用pip指令安装即可

pip install pymysql

pip install selenium

全局定义

# 要搜索的商品的关键词

KEYWORD = '衣服'

# 数据库中要插入的表

MYSQL_TABLE = 'goods'

# MySQL 数据库连接配置,根据自己的本地数据库修改

db_config = {

'host': 'localhost',

'port': 3306,

'user': 'root',

'password': '123456',

'database': 'datavisible',

'charset': 'utf8mb4',

}

# 创建 MySQL 连接对象

conn = pymysql.connect(**db_config)

cursor = conn.cursor()

options = webdriver.ChromeOptions()

# 关闭自动测试状态显示 // 会导致浏览器报:请停用开发者模式

options.add_experimental_option("excludeSwitches", ['enable-automation'])

# 把chrome设为selenium驱动的浏览器代理;

driver = webdriver.Chrome(options=options)

# 窗口最大化

driver.maximize_window()

# wait是Selenium中的一个等待类,用于在特定条件满足之前等待一定的时间(这里是15秒)。

# 如果一直到等待时间都没满足则会捕获TimeoutException异常

wait = WebDriverWait(driver, 15)

主函数

# 在 main 函数开始时连接数据库

def main():

try:

pageStart = int(input("输入您想开始爬取的页面数: "))

pageAll = int(input("输入您想爬取的总页面数: "))

相关文章

友情链接