Я пытаюсь очистить данные о событиях с сайта. https://10times.com/losangeles-us/technology/conferences.
. Приведенный ниже код работает и очищает данные о событиях и ссылки на события, найденные на главной целевой странице.
import pandas as pd
import bs4 as bs
import urllib.request
source = urllib.request.urlopen('https://10times.com/losangeles-us/technology/conferences').read()
soup = bs.BeautifulSoup(source,'html.parser')
aa = []
bb = []
#---Get Event Data---
table = soup.find('tbody')
table_rows = table.find_all('tr') #find table rows (tr)
for x in table_rows:
data = x.find_all('td') #find table data
row = [x.text for x in data]
if len(row) > 2: #Exlcudes rows with only event name/link, but no data.
aa.append(row)
df_event = pd.DataFrame(aa, columns=['Date', 'Event Name', 'Venue', 'Description', 'Type', 'Unnamed:'])
df_event.columns = ['Date', 'Event Name', 'Venue', 'Description', 'Type', 'Interested/Following Count']
#---Get Links---
h2 = soup.find_all('h2')
for i in h2:
links = i.a['href']
bb.append(links)
df_link = pd.DataFrame(bb)
df_link.columns = ['Links']
#---Combines dfs---#
df = pd.concat([df_event,df_link],sort=False, axis=1)
df.index += 1
#--Export to HTML---
df.to_html('10times_Scrape.html',render_links=True)
Теперь я хочу go для каждой ссылки на событие, которую я нажал, и очистить описание адреса / полного события, найденное на странице. Пример ссылки: https://10times.com/microsoft-business-applications-summit-anaheim
И описание события, и адрес находятся в тегах P. Однако, когда я читаю в ссылках, я просто возвращаю None's .. Я использую правильный класс div ниже? Что я делаю неправильно? Я хотел бы взглянуть на 'class': 'col-md-6' и извлечь адрес.
#---Get Address---
for i in bb:
soup2 = bs.BeautifulSoup(i, 'html.parser')
text2 = soup2.find('div', attrs={'class':'col-md-6'})
print(text2)