眾所周知,某點評是一直有JS加密的,所以關于它的外包一直都很貴,有些公司甚至用來面試,可見他的難度,
但是吧,最近他好像沒有加密了,這~
不值錢了啊!
那當時就忍不住了,就得用Python開始整活了!


話不多說,讓我們上代碼!
全部代碼
今天就沒那么多步驟了,直接上代碼!
import requests import parsel url = 'https://www.dianping.com/search/keyword/344/0_%E7%81%AB%E9%94%85/p2' headers = { 'Cookie': 'fspop=test; cy=344; cye=changsha; _lxsdk_cuid=181f2b8ceedc8-00c68dfc700b1e-c4c7526-384000-181f2b8ceedc8; _lxsdk=181f2b8ceedc8-00c68dfc700b1e-c4c7526-384000-181f2b8ceedc8; _hc.v=fa46cfdd-99f6-80af-c226-f8777fc1f097.1657634607; s_ViewType=10; _lx_utm=utm_source%3DBaidu%26utm_medium%3Dorganic; Hm_lvt_602b80cf8079ae6591966cc70a3940e7=1657634608,1657690542; lgtoken=0ecd60582-14f9-4437-87ad-7b55881b56df; WEBDFPID=3x389w8ww1vw5vuzy491zvxxu36989x2818u39v38389795895568429-1657776946569-1657690545731QSUUAWGfd79fef3d01d5e9aadc18ccd4d0c95072230; dper=6cfaf0f82f34d241b584d587fc92a7117ba6c082354d350ed861c0a256d00ba3beb93db7dc5485b4e2e4e4085a92126fa2e5f1dbe1b6eaefd1c814167fce943e; ll=7fd06e815b796be3df069dec7836c3df; Hm_lpvt_602b80cf8079ae6591966cc70a3940e7=1657690573; _lxsdk_s=181f60e4e6c-cad-fea-c91%7C%7C40', 'Host': 'www.dianping.com', 'Referer': 'https://www.dianping.com/search/keyword/344/0_%E7%81%AB%E9%94%85', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36', } response = requests.get(url=url, headers=headers) selector = parsel.Selector(response.text) href = selector.css('.shop-list ul li .pic a::attr(href)').getall() print(href) for index in href: html_data = requests.get(url=index, headers=headers).text selector_1 = parsel.Selector(html_data) title = selector_1.css('.shop-name::text').get() # 店名 count = selector_1.css('#reviewCount::text').get() # 評論 Price = selector_1.css('#avgPriceTitle::text').get() # 人均消費 item_list = selector_1.css('#comment_score .item::text').getall() # 評價 taste = item_list[0].split(': ')[-1] # 口味評分 environment = item_list[1].split(': ')[-1] # 環境評分 service = item_list[-1].split(': ')[-1] # 服務評分 address = selector_1.css('#address::text').get() # 地址 tel = selector_1.css('.tel ::text').getall()[-1] # 電話 dit = { '店名': title, '評論': count, '人均消費': Price, '口味': taste, '環境': environment, '服務': service, '地址': address, '電話': tel, '詳情頁': index, } print(dit)
注釋我就不注釋了,有點趕時間,女朋友喊我去吃飯呢!


不過沒關系,還好我有先見之明,已經錄了視頻,都發在這里了,代碼不明白的話,可以看視頻有一步步的講解,
視頻地址: Python爬取大眾點評
# 我給大家準備了這些資料:Python視頻教程、100本Python電子書、基礎、爬蟲、資料分析、web開發、機器學習、人工智能、面試題、Python學習路線圖、問題解答! # 都放在這個扣群啦 : 279199867
效果展示

本文代碼只是爬取了部分內容,視頻中還講解了讓資料更好看,多頁爬取,保存Excel表格等等,

給大家展示一下效果




好了,今天的分享就到這,下次再見!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/499959.html
標籤:Python
下一篇:python面向物件編程
