Selenium爬取京东商品评价,并进行基于情感词典的文本情感极性分析

本文利用Selenium爬取京东Ipad商品评价,通过情感词典进行情感极性分析。首先介绍了开发环境,接着详细阐述了爬虫的请求构造、信息提取、数据存储过程,然后说明了文本情感分析的数据准备、处理和计算得分方法,最后对结果进行了总结。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 介绍及开发环境

       通过Selenium爬取京东商品(以Ipad为例)的评价这一部分,参考的是崔庆才的《Python3网络爬虫开发实战》,通过Selenium来模拟浏览器爬取京东上的商品评价信息,可以有效的处理反爬虫。
       纯新手,所以基于情感词典的文本情感极性分析参考的是这篇文章,链接如下:https://www.jianshu.com/p/4cfcf1610a73?nomobile=yes ,通过情感打分的方式对文本内容进行情感极性判断。
       开发环境为PyCharm+mysql,需要安装Selenium、pyquery、pandas、jieba以及MySQL库。

2. 爬虫实现

2.1 请求构造

       打开京东,搜索IPad,选择评论数最多的商品,查看评论,可以看到,请求的网址为:https://item.jd.com/6805044.html#comment ,当点击如下图所示的“下一页”按钮时,请求网址没有发生变化,但显示显示的商品评论发生变化,所以无法通过构造参数的方法构造请求。

       所以直接使用Selenium模拟浏览器,通过不断地点击下一页,来获取评论数据。相关代码如下:
MAX_PAGE = 100  # 最大页数
browser = webdriver.Firefox()
wait = WebDriverWait(browser, 10)

# 构造URL请求
def index_page():
    try:
        url = 'https://item.jd.com/6805044.html#comment'
        browser.get(url=url)

        for i in range(1, MAX_PAGE):
            # 等待评论加载完成
            wait.until(EC.presence_of_element_located(
                (By.CSS_SELECTOR, '#comment .mc .tab-con .comment-item')))
            get_comments()

            # 点击下一页
            next = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '#comment .mc .ui-pager-next')))
            next.click()
    except TimeoutException:
        print('TimeOut Error')

2.2 提取信息

       接下来就可以实现 get_comments()方法来获取评论信息,这里我们直接获取网页源代码,然后用pyquery进行解析,获取每条评论的用户名、打分、评论内容、购买版本及评论时间等信息。代码实现如下:

def get_comments():
    """
    提取评价数据
    """
    html = browser.page_source  # 获取页码源码
    doc = pq(html)
    items = doc('#comment .mc .tab-con .comment-item').items()  # 提取评论目录
    for item in items:
        comment = {
            'Name': item.find('.user-column .user-info').text(),  # 提取用户名,如:z***0
            'Star': str(item.find('.co
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值