#python #scrape
Вопрос:
Надеюсь, с тобой все в порядке.
Я пытаюсь очистить данные. Я написал код. но у меня есть ошибки. Не могли бы вы, пожалуйста, помочь с этим?
- импорт панд в качестве pd импорт openpyxl импорт веб-браузера из urllib.запрос импорт urlopen из selenium импорт webdriver из bs4 импорт запросов на импорт BeautifulSoup импорт urllib.запрос с даты и времени импорт даты из openpyxl импорт load_workbook из sqlalchemy импорт create_engine импорт urllib.запрос, urllib.ошибка, urllib.анализ импорт yaml время импорта
inp=pd.read_excel(‘input.xlsx’) out=pd.read_excel(‘Output.xlsx’)
conf = yaml.load(открыть(‘login.yml’)) myFbEmail = conf[‘fb_user’] [‘электронная почта’] myFbPassword = conf[‘fb_user’][‘пароль’]
драйвер = веб-драйвер.Хром()
деф логин(адрес,usernameId, имя пользователя, passwordId, пароль, submit_buttonId): драйвера.получить(URL-адрес)
водитель.find_element_by_name(usernameId).send_keys(имя пользователя)
водителя.find_element_by_name(passwordId).send_keys(password)к
водителю.find_element_by_name(submit_buttonId).нажмите кнопку() для входа(адрес URL, «пользователя[адрес]», myFbEmail, «пользователь[пароль]», myFbPassword, «совершать») времени.(20) для I в диапазоне сна(лен(ИЯФ)): а=[] ИД=ИНП[‘SynupId’][я] урл=ИНП[‘сайте’][я]driver.get(url) time.sleep(12) soup= BeautifulSoup(driver.page_source) today = date.today() Date_Report=str(today) b=soup.find('button',attrs={'class':'button'}) if str(type(b))=="lt;class 'NoneType'gt;": err=soup.findAll('h2',attrs={'class':'Typography__StyledText-sc-1t7fs6h-0
gJiWyz’})[0] имя ошибки=ошибка.текстовое имя рабочей книги = ‘Output.xlsx’ wb = load_workbook(имя рабочей книги) листы = wb. страница с именами листов = wb[листы 1] новый = [[ИДЕНТИФИКАТОР,отчет о дате,имя ошибки,URL]] для получения информации в новой: страница.добавить(информация) wb.сохранить(имя файла=имя рабочей книги) ещё: period_time=b.текст[:25] проф=soup.findAll(‘span’, attrs={‘класс’:’Типография__StyledText-sc-1t7fs6h-0 gcUuHL’})[0] профилирование=проф.текст
web=soup.findAll('span', attrs={'class':'Typography__StyledText-sc-1t7fs6h-0 gcUuHL'})[1] website_views=web.text phone=soup.findAll('span', attrs={'class':'Typography__StyledText-sc-1t7fs6h-0 gcUuHL'})[2] phone_calls=phone.text direction=soup.findAll('span', attrs={'class':'Typography__StyledText-sc-1t7fs6h-0 gcUuHL'})[3] direction_requests=direction.text bot=soup.findAll('span', attrs={'class':'Typography__StyledText-sc-1t7fs6h-0 gcUuHL'})[4] button_clicks=bot.text search=soup.findAll('span', attrs={'class':'Typography__StyledText-sc-1t7fs6h-0 gcUuHL'})[5] direct_searches=search.text discover=soup.findAll('span', attrs={'class':'Typography__StyledText-sc-1t7fs6h-0 gcUuHL'})[6] discovery_searches=discover.text workbook_name = 'Output.xlsx' wb = load_workbook(workbook_name) sheets = wb.sheetnames page = wb[sheets[0]] new = [[ID,period_time,Date_Report,profile_views,website_views,phone_calls,direction_requests,direct_searches,discovery_searches,url]] for info in new: page.append(info) wb.save(filename=workbook_name) driver.close()