我正试图从TripAdvisor中收集前30家餐厅的数据。我得到了这些餐馆的名单。此外,我能够成功地获取评审标题和日期的数据。我正在使用BeautifulSoup和请求来获取这些数据。但是,以下是问题区域:
link='https://www.tripadvisor.com.sg/Restaurant_Review-g294265-d1193730-Reviews-Entre_Nous_creperie-Singapore.html'
openlink=requests.get(link)
soup=bs.BeautifulSoup(openlink.text,'lxml')
列表长度为10
rdetaildata=soup.find_all('p',class_='partial_entry')
rdetails=[]
i=0
for i in range(len(rdetaildata)):
rdetails.append(rdetaildata[i].text)
rdetails[i]=rdetails[i].replace("\n","")
由于业主的回复,名单长度为20。我想排除这些所有者的答复。此外,这只提供部分审查
rlocdata=soup.find_all('span',class_='expand_inline userLocation')
rlocs=[]
i=0
for i in range(len(rlocdata)):
rlocs.append(rlocdata[i].text)
rlocs[i]=rlocs[i].replace("\n","")
由于一位评审员未提及位置,因此列表长度为9。我希望长度为10,其中一个条目为NA,数据不可用。
rcontridata=soup.find_all('span',class_='badgetext')
rcontri=[]
i=0
for i in range(len(rcontri)):
rcontri.append(rcontridata[i].text)
rcontri[i]=rcontri[i].replace("\n","")
同样,这给出了一个长度为18的列表,因为它返回贡献和有用投票数据,因为它们共享相同的标记和类。我想把它们放在不同的对象中
感谢你们所有的帮助!
目前没有回答
相关问题 更多 >
编程相关推荐