извлечение данных из всплывающего окна - PullRequest
0 голосов
/ 24 октября 2019

Пытался извлечь данные из всплывающего окна «Просмотр номера телефона», но получил ошибку

from bs4 import BeautifulSoup
import requests
for count in  range(1,2):
r = requests.get('https://www.docmed360.com/mumbai/general-physician?page='+str(count),headers={'User-Agent':'Googleboat'})
soup = BeautifulSoup(r.text,'lxml')

for data in soup.find_all('div',class_='listing-item text-left'):
    link = data.find('div',class_='col-md-12 col-xs-12 col-sm-12 title')
    link1 = link.find('a')
    links ="https://www.docmed360.com"+link1['href']
    r1 = requests.get(links)
    soup1 = BeautifulSoup(r1.text,'lxml')

    data1 = soup1.find('div',class_='container-fluid tab-pane')
    data2 = data1.find('table',class_='table details-table')
    data3 = data2.find_all('tr')
    for tr1 in data3[0:1]:
        print(tr1.text)
    for tr2 in data3[1:2]:
        print(tr2.text)        
    for tr3 in data3[2:3]:
        print(tr3.text)

здесь, в приведенном выше коде, используя «tr3» для «просмотра номера телефона», который открывается как всплывающее окно,пытается извлечь из этого всплывающего окна.

1 Ответ

1 голос
/ 24 октября 2019

Вы можете извлечь из тегов скрипта

import requests, json
from bs4 import BeautifulSoup as bs

with requests.Session() as s:
    for count in  range(1,3):
        r = s.get(f'https://www.docmed360.com/mumbai/general-physician?page={count}')
        soup = bs(r.content)
        data = [json.loads(i.text) for i in soup.select('[type="application/ld+json"]')]
        for person in data:
            keys = person.keys()
            if 'telephone' in keys:
                print(person['name'],person['telephone'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...