尝试从具有相同链接的多个页面中抓取

时间:2019-10-05 03:31:59

标签: python selenium

from bs4 import BeautifulSoup
import requests
import time
from selenium import webdriver

driver = webdriver.Chrome(r'C:\chromedriver.exe')
url ='https://www.sambav.com/hyderabad/doctors'

driver.get(url)

soup = BeautifulSoup(driver.page_source,'html.parser')

for links in soup.find_all('div',class_='sambavdoctorname'):
    link = links.find('a')
    print(link['href'])

driver.close()

我正在尝试抓取此页面,所有页面中的链接均相同。我正在尝试从所有多个页面中提取链接,但是它没有给出任何输出,也没有显示任何错误,只是程序结束了。

1 个答案:

答案 0 :(得分:0)

如果您在加载网站之前通过浏览器中的开发人员工具(即chrome或mozilla或其他工具)检查了该网站,则该网站会从很少的来源获取数据。此源之一是“ https://www.sambav.com/api/search/DoctorSearch?searchText=&city=Hyderabad&location=”。您的代码可以简化(并且不需要使用硒):

import requests
r = requests.get('https://www.sambav.com/api/search/DoctorSearch?searchText=&city=Hyderabad&location=') 
BASE_URL_DOCTOR = 'https://www.sambav.com/hyderabad/doctor/'
for item in r.json():
    print(BASE_URL_DOCTOR + item['uniqueName'])