摘要:目的獲得去哪兒網(wǎng)評論信息包括評論和打分,保存到本地文件。去除無用的評論保存到本地文件哪網(wǎng)景區(qū)的的評論評分去哪網(wǎng)獲得景點(diǎn)本次共爬取信息條數(shù)據(jù)成果展示外加反省大概萬條吧美滋滋等我開心完就回來就回來整理出現(xiàn)的問題歡迎各位大佬批評指正
目的
獲得去哪兒網(wǎng)評論信息(包括評論和打分),保存到本地csv文件。
前期準(zhǔn)備工作(踩點(diǎn))
1、打開網(wǎng)站,在門票搜索框直接輸入“5A”,發(fā)現(xiàn)可以獲得5A景區(qū)列表。
2、按下F12,讓我們看一看,他們是如何組織這些景點(diǎn)信息的
哈哈,可以看到他們把所有的景點(diǎn)信息都放在了一個json文件里面,也就說我們直接獲取這個json文件就能直接得到5A景點(diǎn)的列表了。
下面是獲取json的url,參數(shù)一目了然有沒有?!
http://piao.qunar.com/ticket/list.json?keyword=5A®ion=&from=mps_search_suggest&page=2
3、接下來我們再研究一下每個景點(diǎn)的詳情頁
一樣的配方,一樣的味道!每個景點(diǎn)所有的評論依然在一個json文件里面
看到下面url里面的sightId了嗎,經(jīng)過驗證這個就是景點(diǎn)的編號.
http://piao.qunar.com/ticket/detailLight/sightCommentList.json?sightId=3076&index=2&page=2&pageSize=10&tagType=0
現(xiàn)在我們大致已經(jīng)有了思路.第一步,獲得所有5A景點(diǎn)的信息用列表保存[景點(diǎn)名字,景點(diǎn)id],第二部,由景點(diǎn)id可以獲得景點(diǎn)評論.一切看起來都是那么順利.
4、等等似乎有什么不對我們再仔細(xì)看看
注意到左邊json里面的sightid了嗎?是"1582294258"明顯不是我們剛才獲取評論時用到的那個呀!倒是和地址欄里面的那個是一樣的.好吧,看來看來他們對每個景點(diǎn)設(shè)置兩個id,一個用于獲取html文件(記為id)另一個是評論id(記為rid).看來需要研究一下怎么把id變?yōu)閞id
好吧,發(fā)現(xiàn)這個id隱藏在head標(biāo)簽下嘍.
上代碼
采完點(diǎn),我們就可以寫代碼了
import pandas as pd import requests as req import time,json #獲得景點(diǎn)id def GetId(): sightlist = []#儲存包含景點(diǎn)列表的json for i in range(1,23):#先把所有景點(diǎn)列表的json都下載下來 url = "http://piao.qunar.com/ticket/list.json?from=mpl_search_suggest_h&keyword=5a&page=" + str(i) + "&sort=" response = req.get(url) r = json.loads(response.text) sightlist.append(r) response.close #time.sleep(3) sight = {}#景點(diǎn)倉庫所有的景點(diǎn)及其對應(yīng)的id都放在這里 for jsons in sightlist:#處理每個json,獲得景點(diǎn)信息 lists = jsons["data"]["sightList"] for each in lists: #print(each["sightName"]) key = each["sightName"] sight[key] = each["sightId"] return sight #垃圾查找函數(shù),不會正則表達(dá)式,真是無奈 def search(s,e,r): start = r.find(s) l = len(s) end = r.find(e,start+l,start+100) rr = r[start+l:end] return rr #獲得評論id def Getrid(id): url = "http://piao.qunar.com/ticket/detail_" + str(id) + ".html" response = req.get(url) text = response.text rid = search("piao.qunar.com/ticket/detail_",".html",text)#這個方法是我百度的,有些時候用起來還真是方便 num = search("
成果展示外加反省
大概30萬條吧,美滋滋.等我開心完就回來,就回來整理出現(xiàn)的問題.歡迎各位大佬批評指正.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/41251.html
摘要:前言為了獲取多源數(shù)據(jù)需要到各個網(wǎng)站獲取一些景點(diǎn)的評論信息和圖片,首先選到了攜程和螞蜂窩這兩個網(wǎng)站,將一些爬取過程記錄下來本人長期出售超大量微博數(shù)據(jù)旅游網(wǎng)站評論數(shù)據(jù),并提供各種指定數(shù)據(jù)爬取服務(wù),。 前言 ??為了獲取多源數(shù)據(jù)需要到各個網(wǎng)站獲取一些景點(diǎn)的評論信息和圖片,首先選到了攜程和螞蜂窩這兩個網(wǎng)站,將一些爬取過程記錄下來 ??PS:(本人長期出售超大量微博數(shù)據(jù)、旅游網(wǎng)站評論數(shù)據(jù),并...
閱讀 3724·2021-10-13 09:39
閱讀 3789·2021-09-24 09:48
閱讀 1189·2021-09-01 10:30
閱讀 2526·2019-08-30 15:55
閱讀 1774·2019-08-29 16:39
閱讀 2296·2019-08-26 13:55
閱讀 3050·2019-08-26 12:23
閱讀 1634·2019-08-26 11:59