从Trip Advisor刮取餐厅详细信息

时间:2016-08-25 05:07:45

标签: python screen-scraping bs4

我正在尝试制作一个脚本,以便从TripAdvisor网站上删除餐厅的详细信息。只是为了学习。

这里的问题是我无法在第二页的源页面中找到餐馆名称。好吧,实际上没有正确的第二个链接。但是当我查看现场并检查时,我可以看到餐馆名称。

例如:

https://www.tripadvisor.in/Restaurants-g294003-Kuwait_City.html

在上面的链接中,第一个链接,我可以正确获取所有源。但是当我从底部选择2,3或其他链接时,我无法正确查看页面源。它显示的是第一个相同的来源。

我目前的代码

import urllib.request
import requests #Install certifi for https
from bs4 import BeautifulSoup

url = "https://www.tripadvisor.in/Restaurants-g294003-Kuwait_City.html"
r=requests.get(url)
data=r.text
soup = BeautifulSoup(data,"lxml")

for link in soup.find_all('a'):
    print(link.get('href'))
print ("\n\n\n\n\n\n")

url1 = "https://www.tripadvisor.in/RestaurantSearch-g294003-oa120-Kuwait_City.html"
r=requests.get(url)
data=r.text
soup = BeautifulSoup(data,"lxml")
for link in soup.find_all('a'):
        print(link.get('href'))

我被困在这里。不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

我认为您的代码的第二部分中有一个拼写错误:

url1 = "https://www.tripadvisor.in/RestaurantSearch-g294003-oa120-Kuwait_City.html"

r=requests.get(url)

#Change this to:
r=requests.get(url1)