#python #web-scraping
#python #веб-очистка
Вопрос:
Я разрабатываю webscraper для таблицы найденных » rel=»nofollow noreferrer»>данных https://web.columbus.org/Accounting ,-Подготовка к налогообложению, -Бухгалтерские услуги> . Каждая бизнес-запись разделяется тегом
<div class="ListingResults_All_ENTRYTITLELEFT">
, однако, когда я использую приведенный ниже код, он возвращает весь набор данных вместо того, чтобы перебирать каждый уникальный бизнес-листинг.
businessPage=str(businessInfo).split("ListingResults_All_ENTRYTITLELEFT")
input(print(f"bus page: {businessPage}"))
for i in businessPage:
input(print(f"{i} :i"))
businessInfo — это проанализированные данные со страницы, и я нахожу их, используя приведенный ниже код:
page=requests.get(https://web.columbus.org/Accounting,-Tax-Preparation,-Bookkeeping-Services)
soup=BeautifulSoup(page.content,'html.parser')
businessInfo=soup.find('div', {"class":"ListingResults_All"})
Как мне переписать свой код, чтобы перебирать каждый уникальный бизнес-листинг, чтобы я мог очищать их данные по одному за раз? Я не прикрепил вывод из-за его размера, но могу, если необходимо.
Комментарии:
1. Ссылка на код для очистки web.columbus.org /…
Ответ №1:
Попробуй это.
from simplified_scrapy import Spider, SimplifiedDoc, utils, SimplifiedMain, req
html = req.get('https://web.columbus.org/Accounting,-Tax-Preparation,-Bookkeeping-Services')
doc = SimplifiedDoc(html)
startDivs = doc.getElements('div', attr='class', value='ListingResults_All_ENTRYTITLELEFTBOX')
for start in startDivs:
businessPage = doc.getElement('div',start=start._end)
print (businessPage.text)
Результат:
_ 8800 Lyra Drive, Suite 450Columbus, OH 43240 (614) 885-2583 Member Since: 2014
_ 180 East Broad Street, Suite 1400Columbus, OH 43215 3611(614) 221-1000 Member Since: 1960
_ 230 West Street, Suite 700Columbus, OH 43215 (614) 221-1120 Member Since: 1981
...
Комментарии:
1. спасибо за вашу помощь. Однако я использую VS code и испытываю трудности с импортом simplified_scrapy. Есть ли альтернативный импорт, который я мог бы использовать, или другой способ очистки данных? Спасибо.
2. @NickPicciano Я тоже использую VS code. Этот пакет необходимо установить в первую очередь. pip установка simplified_scrapy