Попытка соскрести с нескольких страниц с той же ссылкой - PullRequest
0 голосов
/ 05 октября 2019
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 голосов
/ 05 октября 2019

Если вы проверяете этот веб-сайт с помощью инструментов разработчика в браузере (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'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...