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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爬淘宝评论_python爬虫实例,一小时上手爬取淘宝评论(附代码)

發布時間:2023/12/9 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬淘宝评论_python爬虫实例,一小时上手爬取淘宝评论(附代码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

本文的文字及圖片來源于網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。

1 明確目的

通過訪問天貓的網站,先搜索對應的商品,然后爬取它的評論數據。可以作為設計前期的市場調研的數據,幫助很大。

2 爬取評論并儲存

(首先要進行登錄,獲取cookie)搜索你想收集的信息的評價,然后點開對應的產品圖片。找到對應的評價的位置。

找到對應的位置之后就可以進行數據的爬取了,但是在爬取的過程中發現始終無法獲取對應的數據。判斷可能是因為沒有添加cookie導致的,但是在添加了cookie之后發現依舊無法解決問題。

最后,發現應該是顯示的數據是通過json解析之后顯示在網頁上的,因此需要多一些步驟來獲取真正的爬取鏈接。

首先在network中,清除掉以往的數據信息,然后將頁面進行刷新,復制其中的一條信息,進行搜索。在4中獲得鏈接,并在5中獲取到鏈接。

找到文件里面的訪問url、cookie、referer、agent,將其復制在程序里。

大功告成,現在就可以進行數據的爬取了。

importpandas as pdimportrequestsimportreimporttime

data_list=[]for i in range(1,20,1):print("正在爬取第" + str(i) + "頁")#構建訪問的網址,這個網址可有講究了

first = 'https://rate.tmall.com/list_detail_rate.htm?itemId=596452219968&spuId=1240258038&sellerId=1579115485&order=3&currentPage=1'last= '&append=0&content=1&tagId=&posi=&picture=&groupId=&ua=098%23E1hvB9vnvPgvUvCkvvvvvjiPn25pQjlhPFSv0jthPmPy6jiPR2MwAjnjRLF9gjlERphvCvvvphmjvpvhvUCvp8wCvvpvvhHhmphvLvUIUkUaQCAwe1O0747BhCka%2BoHoDOvfjLeAnhjEKBmAdXIaUExreTgcnkxb5ah6Hd8ram56D40OdiUDNrBlHd8reC69D70fd3J18heivpvUvvCCWUB0wV0EvpvVvpCmpJ2vKphv8vvvpHwvvvvvvvCmqvvvv4pvvhZLvvmCvvvvBBWvvvjwvvCHhQvvvxQCvpvVvUCvpvvv2QhvCvvvMMGtvpvhvvCvp86CvChh9P2s3QvvC0ODj6KHkoVQROhCvCLwMbra3rMwznsJWxS5gn1Uzvr4486Cvvyv9mQS7Qvvm4p%3D&needFold=0&_ksTS=1585406932472_453&callback=jsonp454'url= first + str(i) +last#訪問的頭文件,還帶這個cookie

headers ={#用的哪個瀏覽器

'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36',#從哪個頁面發出的數據申請,每個網站可能略有不同

'referer': 'https://detail.tmall.com/item.htm?spm=a220m.1000858.1000725.1.464b6bbfQwJmpT&id=596452219968&skuId=4313616443848&areaId=340700&user_id=1579115485&cat_id=2&is_b=1&rn=2aaf4f3d019121cb4b9c1816fe2eb360',#哪個用戶想要看數據,是游客還是注冊用戶,建議使用登錄后的cookie

'cookie':'tk_trace=1; cna=BPoFF17G1wkCASShM8zuMe/z; dnk=%5Cu6211%5Cu624B%5Cu673A%5Cu9762%5Cu5305; uc1=tag=10&cookie16=UIHiLt3xCS3yM2h4eKHS9lpEOw%3D%3D&cookie14=UoTUP2Hg22VKGQ%3D%3D&cookie15=URm48syIIVrSKA%3D%3D&cookie21=WqG3DMC9Fb5mPLIQo9kR&lng=zh_CN&existShop=false&pas=0; uc3=nk2=rUtEsEAPxFiBAw%3D%3D&vt3=F8dBxd9vfOFX6TF0nIU%3D&lg2=UtASsssmOIJ0bQ%3D%3D&id2=UU20sOBlt5YjsA%3D%3D; tracknick=%5Cu6211%5Cu624B%5Cu673A%5Cu9762%5Cu5305; lid=%E6%88%91%E6%89%8B%E6%9C%BA%E9%9D%A2%E5%8C%85; _l_g_=Ug%3D%3D; uc4=nk4=0%40r7rCJKnwPLZ3%2FwyNCMllICP5es7j&id4=0%40U2%2Fz9fRgFErUiIbdThLAqnTeryYw; unb=2565225077; lgc=%5Cu6211%5Cu624B%5Cu673A%5Cu9762%5Cu5305; cookie1=VyVfQs3fk3Q1AMa82%2BACjr%2B92r264TDI3Q1c5WQuXXw%3D; login=true; cookie17=UU20sOBlt5YjsA%3D%3D; cookie2=1cf0a583503c0e1120b70f4ef312f5c5; _nk_=%5Cu6211%5Cu624B%5Cu673A%5Cu9762%5Cu5305; sgcookie=EilyrHs60A8pXOSQMCPEY; sg=%E5%8C%857f; t=0f46f0f89d1ad6a09a42a2e03e34c8ad; csg=af40d9de; _tb_token_=7e358e863e33f; enc=m7O0wanabkvr3U2e%2B%2FVwjIRhdoivog54aY5f614N4hBpuXKXuZzuCOP8Wqjk%2FohRVNzechJXzRihNyJDnIQHxw%3D%3D; l=dBOQ8BwlQB9FA9pWBOfwVsUBXgbOgIOb8sPzcQtKtICPOq1wBiJPWZ43uHTeCnGVh6JwR3laeFr4BMsXcnV0x6aNa6Fy_1Dmn; isg=BKOjn8dx-fVsPLXByTRwZsHRMuFNmDfaBnKiX9UB34JaFMI2XWiVKt1CDuQatI_S'}#嘗試獲取數據(這里的數據應該是從json里面獲取的)

try:

data= requests.get(url,headers =headers).text

time.sleep(10)

result= re.findall('rateContent":"(.*?)"fromMall"',data)

data_list.extend(result)except:print("本頁爬取失敗")

df=pd.DataFrame()

df["評論"] =data_list

df.to_excel("評論_匯總.xlsx")

由于天貓會有比較強的反爬機制,因此需要設置睡眠時間,鏈接也要更新。

以上就是爬取的部分評價,可以通過可視化工具提取關鍵詞并繪制出詞云。

3 詞云圖的制作

首先將原來的數據保存為csv的格式

#df = pd.DataFrame()#df["review"] = data_list#df.to_excel("評論_匯總.xlsx")

df =pd.DataFrame()

df["review"] =data_list

df.to_csv("coms.csv",mode="a+",header=None,index=None,encoding="utf-8")

之后利用這些數據進行詞云的繪制

#@功能:讀取csv文件,然后進行繪制詞云圖#@日期:2020-04-22

importrefrom wordcloud importWordCloudimportmatplotlib.pyplot as pltimportpandas as pdimportjiebaimportnpfrom PIL importImage#讀取原始數據

raw_comments = pd.read_csv('com.csv');raw_comments.head()#導入停用詞表,這里的stopword是可以自己更改上傳的

with open('stopword.txt') as s:

stopwords= set([line.replace('\n', ' ') for line ins])#傳入apply的預處理函數,完成中文提取、分詞以及多余空格剔除

defpreprocessing(c):

c= [word for word in jieba.cut(' '.join(re.findall('[\u4e00-\u9fa5]+', c))) if word != ' ' and word not instopwords]return ' '.join(c)#將所有語料按空格拼接為一整段文字

comments = ' '.join(raw_comments['評論'].apply(preprocessing));comments[:500]#---------生產詞云----------

usa_mask = np.array(Image.open('flower.png'))#image_colors = ImageColorGenerator(usa_mask) #讀取圖片本身顏色,但是這一句有錯誤#從文本中生成詞云圖

wordcloud = WordCloud(background_color='white', #背景色為白色

height=400, #高度設置為400

width=800, #寬度設置為800

scale=1, #長寬拉伸程度設置為20

prefer_horizontal=0.2, #調整水平顯示傾向程度為0.2

max_words=500, #設置最大顯示字數為500

relative_scaling=0.3, #設置字體大小與詞頻的關聯程度為0.3

max_font_size=50,#縮小最大字體為50

font_path='msyh.ttf',#設置字體為微軟雅黑

mask=usa_mask#添加蒙版

).generate_from_text(comments)

plt.figure(figsize=[8, 4])

plt.imshow(wordcloud#.recolor(color_func=image_colors),alpha=1

)

plt.axis('off')#保存到本地

plt.savefig('圖6.jpg', dpi=600, bbox_inches='tight', quality=95)

plt.show()

最后生產的圖片:

(猜猜這個圖片像什么)

如果你處于想學Python或者正在學習Python,Python的教程不少了吧,但是是最新的嗎?說不定你學了可能是兩年前人家就學過的內容,在這小編分享一波2020最新的Python教程。獲取方式,私信小編 “ 資料 ”,即可免費獲取哦!

總結

以上是生活随笔為你收集整理的python爬淘宝评论_python爬虫实例,一小时上手爬取淘宝评论(附代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

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