我正在尝试从以下网站收集个人资料和联系人的链接: https://www.dlapiper.com/en-us/people#t=All&sort=relevancy&numberOfResults=100&f:CountriesID=[United%20Kingdom]
我使用 Selenium 通过 chromedriver 进行抓取,通常它工作得很好 - 但是,对于这个特定的网站,我无法访问源 html,其中所有指向人们个人资料的链接都是可见的。
我编写了一个标准脚本,通常适用于任何其他动态网站。
links = []
driver = webdriver.Chrome()
driver.get('https://www.dlapiper.com/en-gb/people#t=All&sort=%40lastname%20ascending&f:CountriesID=[United%20Kingdom]')
time.sleep(5)
cookies_button = driver.find_element(By.ID, "onetrust-reject-all-handler")
cookies_button.click()
time.sleep(5)
html = driver.page_source
time.sleep(5)
soup = BeautifulSoup(html, 'html.parser')
parse = soup.find_all('a')
for item in parse:
links.append(item.get('href'))
print(links)
但是,来自人员搜索块的链接无法进入 driver.page_source - 即使当我在 Chrome 中按“检查”时可以找到所有链接元素。我尝试增加 time.sleep(),但没有帮助。
我知道此页面上正在执行大量 JavaScript - 也许我需要手动激活其中一些?由于我不懂 JavaScript,因此非常感谢您的帮助。
律师的联系方式位于 iframe 中...
1 Frame ID myIframe 2 Frame Name Unused 3 Frame Title People Index Hosted Search Page 4 Frame Source https://www.dlapiper.com/en-US/coveosearchpages/people%20index%20hosted%20search%20page#t=All&sort=relevancy&f:CountriesID=[United%20States] 5 Frame Domain www.dlapiper.com 6 Type text/html 7 Mode CSS1Compat 8 Language en 9 Encoding UTF-8 10 Modified 06/03/2024 19:25:06 11 Load Time 2.52 seconds 12 Source Size 361 bytes 13 Position 0 - 291 pixels 14 Viewport 1903 x 1500 pixels
您的脚本是否在子框架内扫描?