使用Python的自动化工具Selenium爬取京东商品评论

系统 1775 0

课程作业要求,遂学习了python的自动化selenium工具,并爬取京东商品评论数据练练手。

目录:

一、环境

二、第三方库

三、分析

1.1 chrome驱动

1.2 定位评论元素

1.3 循环爬取评论数据并保存为CVS文件导出

其中xpath对应网页元素

         评论:

         用户名:

四、代码

五、结果


 


一、环境

我使用的是windows+python3.6+pycharm,大家自己去下载对应的环境。

二、第三方库

              
                from selenium import webdriver
from time import sleep
import csv
              
            

三、分析

1.1 chrome驱动

              
                browser = webdriver.Chrome()#需要使用chrome的调用驱动chormedrive导入script目录
              
            

调用浏览器需要下载对应的chrome驱动到项目工程目录

我的目录是 C:\Users\Administrator\PycharmProjects\python\venv\Scripts

需要注意的是chrome浏览器的版本号需要与对应驱动版本号对应,不然会报错。

使用Python的自动化工具Selenium爬取京东商品评论_第1张图片

使用Python的自动化工具Selenium爬取京东商品评论_第2张图片


1.2 定位评论元素

然后就是通过xpath定位网页评论元素

              
                try:
    browser.get('https://item.jd.com/100002795959.html#none')   #控制浏览器跳转到这个网页
    button = browser.find_element_by_xpath("//li[@clstag='shangpin|keycount|product|shangpinpingjia_1']")   #获取商品评论按钮
    button.click()  #控制按钮进行点击
    sleep(10)   #等待网页加载,防止网页加载过慢
              
            

使用Python的自动化工具Selenium爬取京东商品评论_第3张图片


1.3 循环爬取评论数据并保存为CVS文件导出

              
                 with open('comment_con.csv', 'w') as csvfile:   #新建并打开comment_con.csv文件
        writer = csv.writer(csvfile)
        writer.writerow(['user_name', 'comment'])   #写第一行
        for n in range(99): #进行99次循环
            m = n+1
            print(m)
            user = browser.find_elements_by_xpath("//div[@class='user-info']")  #获取用户名
            lis = browser.find_elements_by_xpath("//p[@class='comment-con']")   #获取评论
            for i in range(len(user)):
                writer.writerow([user[i].text, lis[i].text])
            button2 = browser.find_element_by_class_name("ui-pager-next")   #获取下一页按钮
            print(button2.text)
            sleep(1)
            print("第%d页" %m)
            button2.click()
            sleep(5)
finally:
    browser.close()
              
            

其中xpath对应网页元素

评论:

使用Python的自动化工具Selenium爬取京东商品评论_第4张图片

用户名:

使用Python的自动化工具Selenium爬取京东商品评论_第5张图片

 

四、代码

              
                from selenium import webdriver
from time import sleep
import csv

browser = webdriver.Chrome()#需要使用chrome的调用驱动chormedrive导入script目录
try:
    browser.get('https://item.jd.com/100002795959.html#none')   #控制浏览器跳转到这个网页
    button = browser.find_element_by_xpath("//li[@clstag='shangpin|keycount|product|shangpinpingjia_1']")   #获取商品评论按钮
    button.click()  #控制按钮进行点击
    sleep(10)   #等待网页加载,防止网页加载过慢

    with open('comment_con.csv', 'w') as csvfile:   #新建并打开comment_con.csv文件
        writer = csv.writer(csvfile)
        writer.writerow(['user_name', 'comment'])   #写第一行
        for n in range(99): #进行99次循环
            m = n+1
            print(m)
            user = browser.find_elements_by_xpath("//div[@class='user-info']")  #获取用户名
            lis = browser.find_elements_by_xpath("//p[@class='comment-con']")   #获取评论
            for i in range(len(user)):
                writer.writerow([user[i].text, lis[i].text])
            button2 = browser.find_element_by_class_name("ui-pager-next")   #获取下一页按钮
            print(button2.text)
            sleep(1)
            print("第%d页" %m)
            button2.click()
            sleep(5)
finally:
    browser.close()
              
            
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

五、结果

使用Python的自动化工具Selenium爬取京东商品评论_第6张图片 wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


博客记录学习,传递知识,共同进步,希望对你有帮助。QAQ


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论