хочу удалить все ссылки профиля пользователя для деталей участника - PullRequest
1 голос
/ 21 марта 2019
from bs4 import BeautifulSoup
import requests
r = requests.get('http://medicalassociation.in/doctor-search')
soup = BeautifulSoup(r.text,'lxml')

link = soup.find('table',{'class':'tab-gender'})
link1 = link.find('tbody')
link2 = link1.find('tr')[3:4]
link3 = link2.find('a',class_='user-name')
print link3.text

Не получаю ссылки через этот код. Я хочу убрать ссылки из профиля

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Следующее работает для меня на нескольких тестовых прогонах.Просто используйте requests и select с селектором класса.

import requests
from bs4 import BeautifulSoup as bs

r = requests.get('http://medicalassociation.in/doctor-search')
soup = bs(r.content, 'lxml')    
results = [item['href'] for item in soup.select(".user-name")]
print(results)
0 голосов
/ 21 марта 2019

Request.get() рендеринг javascripts и не может видеть ни одного элемента. Вы можете использовать WebDriver и получить page_source, а затем получить информацию.

from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://medicalassociation.in/doctor-search")
soup = BeautifulSoup(driver.page_source,'html.parser')

for a in soup.find_all('a',class_="user-name"):
    if a.text is not None :
       print(a['href'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...