如何在抓取网站时绕过免责声明

问题描述 投票:0回答:1

出于工作原因,我在使用“driver = webdriver.PhantomJS()”之前能够抓取以下网站。我正在抓取的是价格和日期。

https://www.cash.ch/fonds/swisscanto-ast-avant-bvg-portfolio-45-p-19225268/swc/chf

由于我首先必须同意的免责声明页面,该功能几天前停止工作。

https://www.cash.ch/fonds-investor-disclaimer?redirect=fonds/swisscanto-ast-avant-bvg-portfolio-45-p-19225268/swc/chf

同意后我直观地看到了真实的内容,但驱动程序似乎没有,打印出来的是[],所以它肯定还是免责声明的url。

请参阅下面的代码。

    from selenium import webdriver
    from bs4 import BeautifulSoup
    import csv
    import os

    driver = webdriver.PhantomJS()
    driver.set_window_size(1120, 550)

    #Swisscanto
    driver.get("https://www.cash.ch/fonds/swisscanto-ast-avant-bvg-       portfolio-45-p-19225268/swc/chf")
    s_swisscanto = BeautifulSoup(driver.page_source, 'lxml')
    nav_sc = s_swisscanto.find_all('span', {"data-field-entry": "value"})
    date_sc = s_swisscanto.find_all('span', {"data-field-entry": "datetime"})

    print(nav_sc)
    print(date_sc)
    print("Done Swisscanton")
python web-scraping phantomjs
1个回答
2
投票

这应该可行(我想你想在 zustimmen 中单击按钮?)

driver = webdriver.PhantomJS()
driver.get("https://www.cash.ch/fonds/swisscanto-ast-avant-bvg-portfolio-45-p-19225268/swc/chf"

accept_button = driver.find_element_by_link_text('zustimmen')
accept_button.click()

content = driver.page_source

更多详情请点击这里 python selenium 单击按钮

© www.soinside.com 2019 - 2024. All rights reserved.