[英]BeautifulSoup not scraping next pages
driver = webdriver.Chrome(ChromeDriverManager().install())
url = 'www.mywebsite.com'
driver.get(url)
response = requests.get(url)
markup = driver.page_source
soup = BeautifulSoup(markup, 'lxml')
for _ in range(50):
driver.find_element_by_tag_name('body').send_keys(Keys.END) # Move the page down
element = driver.find_element_by_class_name('prevnext')
master_list = []
for name in soup.find_all(itemprop='name'):
data_dict = {}
data_dict['company name'] = name.get_text(strip=True, separator = '\n')
master_list.append(data_dict)
df = pd.DataFrame(master_list)
print('Page scraped')
time.sleep(5)
print('Sleeping for 2..')
print('Is the button enabled : ' + str(element.is_enabled()))
print('Is the button visible : ' + str(element.is_displayed()))
element.click();
print('Clicked Next')
driver.implicitly_wait(2)
# # for _ in range(1):
# # print('waiting 10')
# driver.find_element_by_class_name('submit-btn').click()
print('Finished Scraping')
我需要這個運行 50 頁。 它會刮掉第一個,然后翻閱其他的。 但是,最后只有第一個被抓取並添加到 df. 每頁有 20 條記錄。 我相信我的縮進是錯誤的。 任何幫助表示贊賞。
看來你犯了一個小錯誤。
markup = driver.page_source
soup = BeautifulSoup(markup, 'lxml')
從代碼中刪除此行並將其添加到 for 循環的開頭,因為每次單擊時您還需要獲取源代碼,因為每次都會加載新內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.