#python #pandas #selenium #web-scraping #python-requests
Вопрос:
Как очистить веб — страницу с бесконечной прокруткой?
Моя первая попытка заключалась в использовании Селена, но он распознается как робот:
from selenium import webdriver import time import pandas as pd url = 'https://www.bloomberg.com/search?query=indonesia mining' options = webdriver.ChromeOptions() options.add_argument("start-maximized") options.add_argument("disable-infobars") options.add_argument("--disable-extensions") driver = webdriver.Chrome(options=options) driver.get(url) html = driver.page_source.encode('utf-8') page_num = 0 while driver.find_elements_by_css_selector('.contentWell__a8d28605a5'): driver.find_element_by_css_selector('.contentWell__a8d28605a5').click() page_num = 1 print("getting page number " str(page_num)) time.sleep(1) html = driver.page_source.encode('utf-8') soup = BeautifulSoup(html, 'lxml') titles = soup.find_all('div', {"class":"text__d88756958e withThumbnail__c4ffc902a6"}) df = pd.DataFrame(columns=['judul', 'link']) news = {} for t in titles: news['judul'] = t.find('a', {'class':'headline__96ba1917df'}).text.strip() news['link'] = t.find('a', {'class':'headline__96ba1917df'}).get('href') df = df.append(news, ignore_index=True)
есть идеи, как ограничить максимальный номер страницы?
Комментарии:
1. «Моя первая попытка заключалась в использовании Селена, но он распознается как робот» Ну, тогда разве это не реальная проблема, которую вы пытаетесь решить?
2. @KarlKnechtel, потому что веб-сайт распознается как робот, поэтому выходной кадр данных отсутствует, поэтому я предполагаю, что, например, если номер страницы ограничен 10, веб-сайт не обнаружит его как робота. cmiiw
3. Итак, вы пытались найти способы, чтобы веб-сайт не обнаружил робота? Вообще-то, откажись от этого. Во-первых, вы проверили, все ли в порядке с сайтом, если вы его очистите? Вы проверяли, предлагает ли он правильный API для получения нужной вам информации?