我无法使用Python的web抓取功能从特定div提取信息。我能做什么?

我无法使用Python的web抓取功能从特定div提取信息。我能做什么?,python,html,web-scraping,Python,Html,Web Scraping,我正在练习一些网页抓取工具。我想要的是提取关于报纸上过去文章的信息(ID和URL)。所以,我有一个URL,程序将应用于此 我的问题是当我想从这些文章中提取信息时。无论我使用什么样的库,我都无法使用网络抓取来访问这些信息,因为有一个“div”不允许我深入信息提取 每篇文章都有一个名为“searchRecordList Detail\u search\u clearfix”的类,其中存储图像、URL和其他信息。所有这些文章还存储在另一个名为“divSearchResults”的div中。然而,它不允

我正在练习一些网页抓取工具。我想要的是提取关于报纸上过去文章的信息(ID和URL)。所以,我有一个URL,程序将应用于此

我的问题是当我想从这些文章中提取信息时。无论我使用什么样的库,我都无法使用网络抓取来访问这些信息,因为有一个“div”不允许我深入信息提取

每篇文章都有一个名为“searchRecordList Detail\u search\u clearfix”的类,其中存储图像、URL和其他信息。所有这些文章还存储在另一个名为“divSearchResults”的div中。然而,它不允许我提取或循环它。Python总是将其读取为空或类似

这是包含文章信息的HTML结构:


1922年7月16日星期日,美国马萨诸塞州波士顿
在这样一个兽医死后五年内的抚养权,除非他们提出关于纤维燕尾服的索赔。波士顿环球报(报纸)-1922年7月16日,马萨诸塞州波士顿
添加日期2010年5月31日

动态加载内容。我认为POST请求甚至可能是异步的。一种方法是使用Selenium,它允许javascript在页面上运行。您需要额外的等待条件才能显示内容。我使用class
ajax加载块窗口
,等待与加载微调器相关的元素之一,以实现页面加载完成时显示的
样式
属性值

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait

d = webdriver.Chrome(r'C:\Users\User\Documents\chromedriver.exe')
d.get('https://newspaperarchive.com/tags/?pc=3091&psi=50&pci=7&pt=19789&ndt=bd&pd=1&pm=1&py=1920&pe=31&pem=12&pey=1929&pep=dependency/')
WebDriverWait(d, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.ajax-loading-block-window[style="height: 100%; display: none;"]')))
data = [(i.get_attribute('id') , i.get_attribute('href') ) for i in d.find_elements_by_css_selector('.result-link')]

您确定没有异步加载数据吗?我之所以问这个问题,是因为它在地理位置之外不可用。我正在使用VPN进入该网页。如果是这样的话(异步地),那么可以进行web报废?您可以使用selenium web驱动程序来异步加载web数据/JSON