日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

爬虫学习笔记:天猫(淘宝)评论数据爬虫

發布時間:2023/12/3 综合教程 23 生活家
生活随笔 收集整理的這篇文章主要介紹了 爬虫学习笔记:天猫(淘宝)评论数据爬虫 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1、雜語

2、目的和方法

2.1 目的

2.2 爬蟲方法

step1:獲取cookie信息與評論url地址

step2:獲取請求頭信息user-agent

step3:查看評論數據

step4:編寫程序

3、完整程序

4、總結


1、雜語

近期課程需要爬取淘寶、天貓商品評論信息,進行數據挖掘分析和情感分析。在網上查找相關資料,翻閱一些博客和csdn文章,對淘寶天貓商品評論爬蟲有了一些了解,并且成功爬取到需要的數據。因此,在此對這幾天的學習做個總結,也給有同樣需求的朋友一點參考。

2、目的和方法

2.1 目的

本文目的很明確,爬取天貓(淘寶)中某個商品的評論信息,信息包括商品的型號、用戶評論(主要分析這兩個信息)。

商品鏈接地址:https://detail.tmall.com/item.htm?spm=a230r.1.14.6.1fbd56fdVF7LzY&id=566140365862&cm_id=140105335569ed55e27b&abbucket=16

2.2 爬蟲方法

爬蟲說簡單也簡單,說難也難。掌握了爬蟲程序的邏輯,你就能實現爬蟲,當然這一切還需要你有相關知識作為基石支撐。爬蟲本質上是在模仿人的操作,請求網頁,獲取數據。爬蟲天貓(淘寶)商品評論的這個過程,其實與你查看天貓(淘寶)評論的過程是一致的。下面具體介紹每一步操作,我會盡量介紹的詳細一些:

step1:獲取cookie信息與評論url地址

解釋:cookie是用目標網站返回的驗證密鑰,當你申請訪問某個網站時,該網站會核對你的cookie,驗證成功才會將該網站的數據傳輸給你。因此,如果我們想要使用代碼訪問天貓商品評論,就需要天貓網站發送給我們的cookie,模擬登陸。

1、登陸天貓(賬戶、密碼登陸)

2、選中某款商品,如本文中選擇了美的的一款熱水器。然后點擊右鍵(Google瀏覽器右鍵)檢查,查看網頁源碼。

3、在network中找到list_detail_rate.htm文件,并在該文件中抓取header包。具體操作為:檢查后,得到出現下面頁面,點擊network,選擇顯示js文件,然后在name中尋找list_detail_rate.htm文件,查詢一遍.

如果發現沒有,則點擊刷新,在點擊累計評論,name中就會自動加載出list_detail_rate.htm文件。PS:如果還沒有找到,在評論里面翻頁,這樣name中一定2會出現該文件。

4、抓取cookie信息

在上一步中已經抓取到list_detail_rate.htm文件的header,在header中包含了許多信息,包括cookie,每一頁評論url地址,以及你的瀏覽器信息。但是我們暫時只需要cookie信息和評論的url地址。

如下圖:該url地址即為該頁評論的url地址,分析其組成我們很容易就可以發現,該url地址中的Page控制頁數。因此,每一頁評論的url地址我們就能確定了。下拉即可發現,cookie居然也在這里面。粘貼它,備用。

?

step2:獲取請求頭信息user-agent

方法一:網上直接搜索請求頭user-agent,隨意粘貼一個就能夠使用。

?方法二:在上一步的header里面下拉,找到user-agent,粘貼即可。

step3:查看評論數據

繼續查看list_detail_rata.htm文件,點擊preview,再將數據展開,可以發現jsonp文件中包含了我們需要的評論數據信息,包括商品評論、評論時間,有無追加,商品型號、用戶名等信息。如下圖

?

從這兩張圖我們能確定,我們只需要請求到這個文件,在對這個文件解析即可獲得我們需要的商品評論。從中我們能得到商品評論的頁數,99頁、商品評論數據,以及所評論的商品型號。下面只需要編寫程序提取其中的信息即可。

step4:編寫程序

1、導入庫文件,requests,re,pd,time

#導入庫文件
import requests
from bs4 import  BeautifulSoup as bs4
import time
import re
import pandas as pd

2、建立請求頭(headers),包含cookie、user-agent,referer(商品鏈接)

def get_content(url_lists):headers = {#cookie網絡驗證,需要先登陸,獲取登陸以后的網絡驗證cookie,需要更改'cookie': 't=38c495563775b3b0c8a41a65da4f7c47; _tb_token_=5ebefe73457bb; cookie2=1f6389e4d007b9668ae799044835a590; dnk=%5Cu65E0%5Cu5FC3%5Cu660E%5Cu6728; hng=CN%7Czh-CN%7CCNY%7C156; tracknick=%5Cu65E0%5Cu5FC3%5Cu660E%5Cu6728; lid=%E6%97%A0%E5%BF%83%E6%98%8E%E6%9C%A8; lgc=%5Cu65E0%5Cu5FC3%5Cu660E%5Cu6728; enc=Zq6icfNyFHjVohVzMeSf%2BIfPHJ7hcR9TqFheMaSRC%2FbJR39SmHLQSGpQ5oMsZ8tqnhSNSH9anWnMyQc%2BPrkcRQ%3D%3D; cna=9KU5FwXkXiUCAbfYlO7jKln+; _m_h5_tk=1e5664f69d74ee30e656464a9483eb50_1589792673771; _m_h5_tk_enc=84bb8b2e3012e443dc0228361cb891bb; uc1=cookie14=UoTUM2jvNUqS2A%3D%3D&cookie16=UtASsssmPlP%2Ff1IHDsDaPRu%2BPw%3D%3D&existShop=false&cookie21=UtASsssmeW6lpyd%2BB%2B3t&cookie15=URm48syIIVrSKA%3D%3D&pas=0; uc3=id2=UU20t7pwAehm4Q%3D%3D&lg2=W5iHLLyFOGW7aA%3D%3D&nk2=rUeYFADn4ZE%3D&vt3=F8dBxGZuHaPt28arGzQ%3D; uc4=nk4=0%40r7Yq6ez6%2FiKCVsunPByL5FY%2Bsg%3D%3D&id4=0%40U2%2Fz8oplkCFeccA5ZVXogFNjFYNM; _l_g_=Ug%3D%3D; unb=2562036378; cookie1=Vv1zqw8QCKeLxmtxWLfD1h937JwOrbk70nwWm1OBXEY%3D; login=true; cookie17=UU20t7pwAehm4Q%3D%3D; _nk_=%5Cu65E0%5Cu5FC3%5Cu660E%5Cu6728; sgcookie=EKhZbjs6mP8oKvbKrBZeV; sg=%E6%9C%A88b; csg=21f92331; l=eBIW36YmQZ6s21ejBO5Nlurza77OBQRfGsPzaNbMiIHca6CVsFi_tNQDiUeH-dtjgtCEietzEdARfRH98Ezd0ZqhuJ1REpZZnxvO.; isg=BMHBO7ure9P4wJfmuEBqzsb80A3b7jXgde5qciMUQEhlCuXcaz-isPtM7H5MAs0Y',#商品的鏈接地址,每個商品鏈接不同需要更改'referer': 'https://detail.tmall.com/item.htm?spm=a230r.1.14.6.1fbd56fdVF7LzY&id=566140365862&cm_id=140105335569ed55e27b&abbucket=16',#電腦瀏覽器信息瀏覽器,這個信息是固定的,可以不變'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',}

3、獲取評論url地址,根據之前發現的商品評論url地址特點,構建函數。忘記了可以看看step1的第四步。

#獲取評論url地址
def get_url(num):page_url = []#list_detail_rate.htm文件中保存了商品評論信息,因此需求請求該url地址,# 這個地址的尋找方法是:首先,確定你要爬蟲的頁面,點擊右鍵的檢查,# 然后再點擊network,在里面尋找list_detail_rate.htm包文件,在該文件的headers信息中可以找到url信息urlfirst = 'https://rate.tmall.com/list_detail_rate.htm?itemId=566140365862&spuId=1340127862&sellerId=1132304427&order=3&currentPage='urllast = '&append=1&content=1&tagId=&posi=&picture=0&groupId=&ua=098%23E1hve9vovZ9vUvCkvvvvvjiPn2c96jEbPFdW0jrCPmP90jl8Ps5yAjinR2FpAjEb9phv8cMGclG7zYswzpj87kdoE93ukbj2J1%2BhTKuUAbt39JW2g08Ly0eEpIEmdphvmpvh9IbzYAmwR86CvvyvCv4m%2Bfh9FWVrvpvEvvCZvli4UU2pRphvCvvvvvmCvpvWzC1EOUFNznswjo143QhvCvvhvvm5vpvhvvmv9FyCvvpvvvvv2QhvCvvvMM%2FtvpvIvvvvvhCvvvvvvUUFphvUqvvv9krvpvQvvvmm86CvmVWvvUUdphvUIgyCvvOUvvVvJheivpvUvvmvR7I4ueWEvpCWmUDfvvwdiNLh1CeXaHFXS47BhC3qVUcnDOmOjLEc6acEKBmAVAdvaNoxdX3l8bmxfwoOd56OfwLvaB4AVAdvaNoxdX31bbmxfJmK59hCvvOvCvvvphmCvpvWzC1EOUFSznswSpl4RphvCvvvvvvtvpvhvvvvvv%3D%3D&itemPropertyId=&itemPropertyIndex=&userPropertyId=&userPropertyIndex=&rateQuery=&location=&needFold=0&_ksTS=1589850461438_1131&callback=jsonp1132'for i in range(1,num,1):url = urlfirst+str(i)+urllastpage_url.append(url)return page_url

4、請求數據,使用requests庫,requests參數,url地址為目標地址,headers為傳輸的驗證信息,傳輸回來為html源碼,需要以text格式查看。

comment = []  # 定義評論字段auctionSku = []  # 定義熱水器型號信息for i in range(0,len(url_lists)):print('正在爬取第{}頁評論'.format(str(i+1)))#請求數據data = requests.get(url_lists[i],headers = headers).texttime.sleep(10)#數據提取comment.extend(re.findall('rateContent":"(.*?)"fromMall"', data))auctionSku.extend((re.findall('"auctionSku":"(.*?)"',data)))

5、數據保存,保存為數表形式,存儲格式為xls。

 #定義數表com = pd.DataFrame()com['型號'] = auctionSkucom['評論'] = commentprint(com)com.to_excel('商品評論數據.xls')

6、主函數

if __name__ == '__main__':num = 99 #頁數,商品總頁數為99頁url_list = get_url(num)get_content(url_list)

3、完整程序

# -*- coding:utf-8 -*-
#大明王#天貓美的熱水器商品評論爬蟲
#美的電熱水器電家用衛生間洗澡淋浴60/50升小型儲水式即熱一級TK1,型號:F6021-TK1(HEY)#導入庫文件
import requests
from bs4 import  BeautifulSoup as bs4
import time
import re
import pandas as pd#獲取評論url地址
def get_url(num):page_url = []#list_detail_rate.htm文件中保存了商品評論信息,因此需求請求該url地址,# 這個地址的尋找方法是:首先,確定你要爬蟲的頁面,點擊右鍵的檢查,# 然后再點擊network,在里面尋找list_detail_rate.htm包文件,在該文件的headers信息中可以找到url信息urlfirst = 'https://rate.tmall.com/list_detail_rate.htm?itemId=566140365862&spuId=1340127862&sellerId=1132304427&order=3&currentPage='urllast = '&append=1&content=1&tagId=&posi=&picture=0&groupId=&ua=098%23E1hve9vovZ9vUvCkvvvvvjiPn2c96jEbPFdW0jrCPmP90jl8Ps5yAjinR2FpAjEb9phv8cMGclG7zYswzpj87kdoE93ukbj2J1%2BhTKuUAbt39JW2g08Ly0eEpIEmdphvmpvh9IbzYAmwR86CvvyvCv4m%2Bfh9FWVrvpvEvvCZvli4UU2pRphvCvvvvvmCvpvWzC1EOUFNznswjo143QhvCvvhvvm5vpvhvvmv9FyCvvpvvvvv2QhvCvvvMM%2FtvpvIvvvvvhCvvvvvvUUFphvUqvvv9krvpvQvvvmm86CvmVWvvUUdphvUIgyCvvOUvvVvJheivpvUvvmvR7I4ueWEvpCWmUDfvvwdiNLh1CeXaHFXS47BhC3qVUcnDOmOjLEc6acEKBmAVAdvaNoxdX3l8bmxfwoOd56OfwLvaB4AVAdvaNoxdX31bbmxfJmK59hCvvOvCvvvphmCvpvWzC1EOUFSznswSpl4RphvCvvvvvvtvpvhvvvvvv%3D%3D&itemPropertyId=&itemPropertyIndex=&userPropertyId=&userPropertyIndex=&rateQuery=&location=&needFold=0&_ksTS=1589850461438_1131&callback=jsonp1132'for i in range(1,num,1):url = urlfirst+str(i)+urllastpage_url.append(url)return page_url
def get_content(url_lists):headers = {#cookie網絡驗證,需要先登陸,獲取登陸以后的網絡驗證cookie,需要更改'cookie': 't=38c495563775b3b0c8a41a65da4f7c47; _tb_token_=5ebefe73457bb; cookie2=1f6389e4d007b9668ae799044835a590; dnk=%5Cu65E0%5Cu5FC3%5Cu660E%5Cu6728; hng=CN%7Czh-CN%7CCNY%7C156; tracknick=%5Cu65E0%5Cu5FC3%5Cu660E%5Cu6728; lid=%E6%97%A0%E5%BF%83%E6%98%8E%E6%9C%A8; lgc=%5Cu65E0%5Cu5FC3%5Cu660E%5Cu6728; enc=Zq6icfNyFHjVohVzMeSf%2BIfPHJ7hcR9TqFheMaSRC%2FbJR39SmHLQSGpQ5oMsZ8tqnhSNSH9anWnMyQc%2BPrkcRQ%3D%3D; cna=9KU5FwXkXiUCAbfYlO7jKln+; _m_h5_tk=1e5664f69d74ee30e656464a9483eb50_1589792673771; _m_h5_tk_enc=84bb8b2e3012e443dc0228361cb891bb; uc1=cookie14=UoTUM2jvNUqS2A%3D%3D&cookie16=UtASsssmPlP%2Ff1IHDsDaPRu%2BPw%3D%3D&existShop=false&cookie21=UtASsssmeW6lpyd%2BB%2B3t&cookie15=URm48syIIVrSKA%3D%3D&pas=0; uc3=id2=UU20t7pwAehm4Q%3D%3D&lg2=W5iHLLyFOGW7aA%3D%3D&nk2=rUeYFADn4ZE%3D&vt3=F8dBxGZuHaPt28arGzQ%3D; uc4=nk4=0%40r7Yq6ez6%2FiKCVsunPByL5FY%2Bsg%3D%3D&id4=0%40U2%2Fz8oplkCFeccA5ZVXogFNjFYNM; _l_g_=Ug%3D%3D; unb=2562036378; cookie1=Vv1zqw8QCKeLxmtxWLfD1h937JwOrbk70nwWm1OBXEY%3D; login=true; cookie17=UU20t7pwAehm4Q%3D%3D; _nk_=%5Cu65E0%5Cu5FC3%5Cu660E%5Cu6728; sgcookie=EKhZbjs6mP8oKvbKrBZeV; sg=%E6%9C%A88b; csg=21f92331; l=eBIW36YmQZ6s21ejBO5Nlurza77OBQRfGsPzaNbMiIHca6CVsFi_tNQDiUeH-dtjgtCEietzEdARfRH98Ezd0ZqhuJ1REpZZnxvO.; isg=BMHBO7ure9P4wJfmuEBqzsb80A3b7jXgde5qciMUQEhlCuXcaz-isPtM7H5MAs0Y',#商品的鏈接地址,每個商品鏈接不同需要更改'referer': 'https://detail.tmall.com/item.htm?spm=a230r.1.14.6.1fbd56fdVF7LzY&id=566140365862&cm_id=140105335569ed55e27b&abbucket=16',#電腦瀏覽器信息瀏覽器,這個信息是固定的,可以不變'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',}comment = []  # 定義評論字段auctionSku = []  # 定義熱水器型號信息for i in range(0,len(url_lists)):print('正在爬取第{}頁評論'.format(str(i+1)))#請求數據data = requests.get(url_lists[i],headers = headers).texttime.sleep(10)#數據提取comment.extend(re.findall('rateContent":"(.*?)"fromMall"', data))auctionSku.extend((re.findall('"auctionSku":"(.*?)"',data)))#定義數表com = pd.DataFrame()com['型號'] = auctionSkucom['評論'] = commentprint(com)com.to_excel('商品評論數據.xls')if __name__ == '__main__':num = 99 #頁數url_list = get_url(num)get_content(url_list)

4、總結

萬事開頭難,加油,致愛學習,努力堅強的你。see you

好書推薦:《你當像鳥飛往你的山》

總結

以上是生活随笔為你收集整理的爬虫学习笔记:天猫(淘宝)评论数据爬虫的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。