У меня есть код, который извлекает 2 ссылки из txt-файла, например
https://www.kununu.com/de/volkswagenconsulting/kommentare
https://www.kununu.com/de/volkswagennutzfahrzeuge/kommentare
Ниже код извлекает из этих ссылок данные arbeitsatmosphare и данные фирмы (код работает).
firma=[]
company=[]
arbeitsatmosphare = []
lineList2=[]
with open((os.environ.get('mypath')+'/test.txt'), 'r') as file:
lines = file.readlines()
for line in lines:
lineList2.append(line.strip('\n'))
print(lineList2)
for lurl in lineList2:
with requests.Session() as session:
session.headers = {
'x-requested-with': 'XMLHttpRequest'
}
page = 1
while True:
print(f"Processing page {page}..")
url = f'{lurl}/{page}'
print(url)
response = session.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
articles = soup.find_all('article')
print("Number of articles: " + str(len(articles)))
for article in articles:
try:
arbeitsatmosphareText = article.find('span', text=re.compile(r'Arbeitsatmosphäre')).find_next(
'span').text.strip()
arbeitsatmosphare.append(arbeitsatmosphareText)
except:
arbeitsatmosphare.append('N/A')
try:
firmaText = article.find('div', text=re.compile(r'Firma')).find_next('div').text.strip()
firma.append(firmaText)
except:
firma.append('N/A')
companyText = [x.text.strip() for x in soup.find_all('span', {'class': 'company-name'})]
company.append(companyText)
page += 1
pagination = soup.find_all('div', {'class': 'paginationControl'})
if not pagination:
break
df = pd.DataFrame({'Arbeitsatmosphäre': arbeitsatmosphare,
'firma':firma
'company': company
})
print(df)
Мне нужно включить информацию о компании в выходные данные. Например, «Фольксваген Нутцфарцойге». Данные компании находятся в заголовке страницы под черной полосой.
UPD Я обновил код, теперь он работает.