爬取京东评论插入mysql

一、获取URL

        1.打开目标网页

        2.打开浏览器的开发者工具(右键-> "检查")

        3.切换到 "网络"选项卡

        4.随便复制一条评论,在筛选器中查找(可Ctrl+R刷新)

        5.“标头”里的“常规URL”即为所需URL

二、导入MySQL

        1.win+r,激活虚拟环境(激活成功前面会出现(venv) )

venv\Scripts\activate

        2.在虚拟环境里安装pymysql

(venv) C:\Users\17378>pip install pymysql

        3.可能需要安装 mysql-connector-python 模块

(venv) C:\Users\17378>pip install mysql-connector-python

三、查看 MySQL 中存储的内容

        1.win+r打开命令行或终端窗口。

        2.使用以下命令登录到 MySQL:

mysql -u root -p

        3.然后输入你的 MySQL 密码。

        4.切换到你的数据库(jd):

USE jd;

        5.执行查询语句查看 comments 表中的内容:

SELECT * FROM comments;

ps.也可以直接打开MySQL Workbench查看

四、完整代码

import pymysql# 用于与MySQL数据库交互的Python模块
import requests# 用于发起HTTP请求
import time# 引入延迟

host = 'localhost'
user = 'root'
password = '111111'
database = 'jd'

# 创建 'comments' 表
create_table_sql = '''
CREATE TABLE IF NOT EXISTS comments (
    id VARCHAR(255) PRIMARY KEY,
    content TEXT,
    time DATETIME
);
'''

try:
    # 连接数据库
    db = pymysql.connect(
        host=host,
        user=user,
        password=password,
        database=database,
        charset='utf8mb4'
    )
    print('数据库连接成功')
    time.sleep(4)

    # 创建游标对象,执行SQL查询
    cursor = db.cursor()

    # 创建 'comments' 表
    cursor.execute(create_table_sql)
    print('comments表创建成功')

    # 京东评论数据爬取
    # 获取URL
    base_url = 'https://api.m.jd.com/?appid=item-v3&functionId=pc_club_productPageComments&client=pc&clientVersion=1.0.0&t=1709530326349&loginType=3&uuid=181111935.17001439338431407324702.1700143934.1700143940.1709527371.3&productId=10082440400024&score=0&sortType=5&page='
    # 爬取范围
    for page in range(1, 5):
        url = base_url + str(page) + '&pageSize=10&isShadowSku=0&fold=1&bbtf=&shield='
        # 使用自定义标头向URL发送请求
        # 设置请求头通常是为了模拟一个正常的浏览器请求,以避免被目标网站识别为爬虫而拒绝服务
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
        }

        # 请求网页信息
        res = requests.get(url, headers=headers)
        print(f'爬取第{page}页评论,状态码:{res.status_code}')

        # 解析JSON响应并提取评论
        if res.status_code == 200:
            data = res.json()
            comments = data['comments']

            for comment in comments:
                comment_id = comment['id']
                comment_content = comment['content']
                comment_time = comment['creationTime']

                # 插入数据到 'comments' 表
                insert_sql = "INSERT INTO comments (id, content, time) VALUES (%s, %s, %s)"
                values = (comment_id, comment_content, comment_time)

                try:
                    cursor.execute(insert_sql, values)
                    print(f'评论插入成功: {comment_content}')
                except pymysql.Error as e:
                    print(f'评论插入失败: {str(e)}')

    # 提交事务
    db.commit()

except pymysql.Error as e:
    print(f'数据库连接失败: {str(e)}')

finally:
    # 关闭连接
    if db:
        db.close()
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我是一个语言模型,无法提供代码。但是,我可以提供一些步骤和技巧来帮助您生成一个爬取京东评论的爬虫代码: 1. 查找京东评论的API或者爬取评论页面的URL 您可以使用浏览器的开发者工具来查找这些信息。例如,在京东商品详情页面中,您可以在“商品评价”标签下找到评论页面的URL。 2. 使用Python的requests库发送HTTP请求 使用requests库可以发送HTTP请求并获取响应。您可以使用GET方法来获取评论页面的HTML内容,也可以使用POST方法来获取API返回的JSON数据。 3. 解析HTML内容或JSON数据 使用Python的BeautifulSoup库或者json库可以帮助您解析HTML或JSON数据。您可以根据HTML或JSON的结构来提取评论信息。 4. 存储评论数据 使用Python的pandas库或者其他数据库库可以帮助您存储评论数据。您可以将数据存储在CSV文件中,也可以将数据存储在MySQL或MongoDB等数据库中。 5. 设置爬虫的请求头和IP代理 为了避免被京东反爬虫机制封禁IP,您可以设置请求头和IP代理。请求头可以模拟浏览器发送请求,而IP代理可以让您的爬虫使用不同的IP地址发送请求。 6. 模拟登录 如果您需要爬取京东用户的评论,您需要模拟登录京东网站。您可以使用Python的selenium库来模拟登录,或者使用京东的API来获取用户信息。 以上是一些基本的步骤和技巧,希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值