作者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://webptt.com/cn.aspx?n=bbs/Python/M.1485400793.A.C56.html
1F:推 ckc1ark: headers={'X-Requested-With': 'XMLHttpRequest'} 加这个 01/26 14:38
2F:→ amarco: 谢谢c大,已顺利取得正确页面! 01/28 08:00
3F:推 HenryLiKing: 想请问为什麽要加这一个段呀? 02/08 11:41
4F:→ uranusjr: 这个问题只能问写网站的人 02/09 13:55
5F:→ s860134: 爬虫就是兵来将挡水来土掩. server要甚麽你就给他甚麽 02/10 00:13