он выдает мне AttributeError, когда я добавляю .text в конец переменных в цикле.Я удаляю их, и он распечатывает все теги вместе с информацией.Я не уверен, почему он продолжает выбрасывать AttributeError.
Любая помощь приветствуется. TT
Я пробовал:
biz_name = result.find('span', attrs={'itemprop':'name'}).text
и
biz_name = result.find('span', attrs={'itemprop':'name'}).text[1:-1]
Вот одна ячейка результатов:
<span itemprop="name">Efrain Jimenez Jr. General Contractor Inc.</span>
и сценарий:
import requests
from bs4 import BeautifulSoup
import pandas as pd
import csv
r = requests.get('https://www.yellowpages.com/search?search_terms=remodeling&geo_location_terms=New+York%2C+NY')
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('div', attrs={'class':'info'})
records = []
for result in results:
biz_name = result.find('span', attrs={'itemprop':'name'})
biz_phone = result.find('div', attrs={'itemprop':'telephone'})
biz_address = result.find('span', attrs={'itemprop':'streetAddress'})
biz_city = result.find('span', attrs={'itemprop':'addressLocality'})
biz_zip = result.find('span', attrs={'itemprop':'postalCode'})
records.append((biz_name, biz_phone, biz_address, biz_city, biz_zip))
df = pd.DataFrame(records, columns=['biz_name', 'biz_phone', 'biz_address', 'biz_city', 'biz_zip'])
df.to_csv('Yp_Remodel.csv', index=False, encoding='utf-8')