簡體   English   中英

BeautifulSoup 不抓取下一頁

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM