Мне нужно извлечь данные с веб-сайта, на котором я извлек список URL-адресов, где размещены данные, и я могу получить данные, но не могу получить их в виде таблицы.
Я пробовал в нескольких кодах, я извлек ссылки href, а затем добавил их в список.Я использую запросы и красивые библиотеки супа для извлечения данных.
url = 'https://www.flinders.edu.au/directory/index.cfm/search/results?page=1&lastnamesearch=A&firstnamesearch=&ousearch='
for rows in df_link['Name']:
url = rows
browser.get(url)
html = browser.page_source
soup = BeautifulSoup(html, 'lxml')
for table in soup.find_all('table', {'summary' : 'Staff list that match search criteria'}):
n_columns = 0
n_rows = 0
column_names = []
column_names = [th.get_text() for th in table.select('th')]
n_columns = len(column_names)
rows = table.select('tr')[1:]
n_rows = len(rows)
df = pd.DataFrame(columns=column_names, index=range(n_rows))
r_index = 0
for row in rows:
c_index = 0
for cell in row.select('td'):
anchor = cell.select_one('a')
df.iat[r_index, c_index] = anchor.get('href') if anchor else cell.get_text()
c_index += 1
r_index += 1
#c_index = 1
#for nam in row.find_all('a', {'class' : 'directory directory-person'}):
# df.iat[r_index, c_index] = nam.get_text()
# c_index += 1
#r_index += 1
print(df)
urls = []
for row in df['Name\xa0⬆']:
urls.append(link+row)
for url in urls:
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
for name in soup.find_all('span' , {'class' : 'directory directory-entity'}):
results['Name'] = table.text
p = []
for row in soup.find_all('tr'):
position = row.find_all('td')
p.append(position[0].text)
results['Position'] = p[1]
results['Phone'] = p[4]
results['Email'] = p[9].replace('\n', '')
print(results)
Я ожидаю результат в виде таблицы.Помощь будет принята с благодарностью