作者amarco (amarco)
看板Python
標題[問題] 網頁爬蟲POST問題
時間Thu Jan 26 11:19:49 2017
大家好
最近研究需要,正在寫一個爬蟲抓tripadvisor上面的review資料
以此網頁為例:
https://www.tripadvisor.com.tw/Hotel_Review-g293913-d306447-Reviews-Grand_Hyatt_Taipei-Taipei.html
但因為點進去時,預設是只有顯示中文的review,但我想要抓取所有語言的reivew,所以要點選所有語言。
我看FORM DATA裡面的filterLang會從zhTW變成ALL,所以我試著用POST去讀網頁原始碼,但是結果一直無法成功讀取所有的review。
網頁也變成是錯誤。不知道是哪裡出了問題,請大家幫忙看一下。謝謝大家!!!!
程式碼:
import requests
payload = {'filterLang':'ALL'}
res = requests.post('
https://www.tripadvisor.com.tw/Hotel_Review-g293913-d306447-Reviews-Grand_Hyatt_Taipei-Taipei.html', data = payload)
print (res.text)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
如果用GET,那網頁就只顯示有中文的review。
import requests
from bs4 import BeautifulSoup as bs
reviews = requests.get('
https://www.tripadvisor.com.tw/Hotel_Review-g293913-d306447-Reviews-Grand_Hyatt_Taipei-Taipei.html')
soup = bs(reviews.text, "html.parser")
for review in soup.select('.reviewSelector'):
print (review.select('.noQuotes')[0].text)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 72.182.35.148
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1485400793.A.C56.html
推 ckc1ark: headers={'X-Requested-With': 'XMLHttpRequest'} 加這個 01/26 14:38
→ amarco: 謝謝c大,已順利取得正確頁面! 01/28 08:00
推 HenryLiKing: 想請問為什麼要加這一個段呀? 02/08 11:41
→ uranusjr: 這個問題只能問寫網站的人 02/09 13:55
→ s860134: 爬蟲就是兵來將擋水來土掩. server要甚麼你就給他甚麼 02/10 00:13