- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我对 python
还很陌生,而且对 BeautifulSoup
也很陌生。我一直致力于使用 BeautifulSoup
创建一个网络抓取工具来进入并解析网站中的部门目录。这些目录以 HTML 表的形式构建。正如预期的那样,大多数单元格都是 td 标签;但是,偶尔有一个单元格是我也需要解析的第 th
标记。
这些页面中的大多数都是.aspx
,我读到为了抓取这些页面,需要一个网络驱动程序。这是我最初的代码,我主要将 BeautifulSoup 与请求一起使用,所以我不确定这对于将其与网络驱动程序一起使用是否正确。
url = "https://webberathletics.com/staff.aspx"
driver = webdriver.Chrome(r"C:\Users\bobby\OneDrive\Documents\MyPrograms\webdrivers\chromedriver.exe")
driver.implicitly_wait(30)
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser')
contacts_list = []
我将添加更多的 URL 供抓取器解析,因此我尝试使抓取器尽可能动态,这意味着它将抓取包含第 th
行的表细胞和其他没有的细胞。以下是我目前拥有的。
我希望它解析单元格,无论它是 td
还是 th
。
for row in soup.find_all('tr'):
cells = row.find_all('td', 'th')
if len(cells) > 0:
col1 = cells[0].text.strip()
col2 = cells[1].text.strip()
col3 = cells[2].text.strip()
col4 = cells[3].text.strip()
contact = {'col1': col1, 'col2': col2, 'col3': col3, 'col4': col4}
contacts_list.append(contact)
print(contacts_list)
目前它根本不会打印,但会运行,所以我不确定它是否正常工作。但即使它确实打印出来,我也不确定我是否正确地处理了这个问题。
最佳答案
如果您要使用 <table>
来抓取表格标签,我选择只使用 Pandas .read_html()
。辛苦你了。
from selenium import webdriver
import pandas as pd
url = "https://webberathletics.com/staff.aspx"
driver = webdriver.Chrome('C:/chromedriver_win32/chromedriver.exe')
driver.implicitly_wait(30)
driver.get(url)
tables = pd.read_html(driver.page_source)
df = tables[1]
df = df[pd.isnull(df['Image'])].drop(['Image'], axis=1)
driver.close()
输出:
print (df)
编辑:
如果您想保留这些“子标题”:
from selenium import webdriver
import pandas as pd
url = "https://webberathletics.com/staff.aspx"
driver = webdriver.Chrome('C:/chromedriver_win32/chromedriver.exe')
driver.implicitly_wait(30)
driver.get(url)
tables = pd.read_html(driver.page_source)
df = tables[1]
关于python - 如何解析表格中的行,这些行不仅由 <td> 单元格组成,而且偶尔还由 <th> 单元格组成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55937698/
我有 4 个 TextView。它们一开始都是不可见的,我将它们动画到屏幕上(从底部滑入)。我启动一个线程来为每个动画制作动画,每个动画开始时间间隔 200 毫秒。问题是:开始 Activity 后第
我有一个奇怪的问题,我似乎无法解决。 :(我有一个基于 Web 的应用程序,可以发送电子邮件。它通过连接在本地网络上设置的基于 Windows 的 SMTP 服务器来实现。此 SMTP 服务器不需要我
从昨天开始,我一直遇到一些设备收不到推送通知的问题。证书/设备 token 似乎是正确的,因为直到昨天,该设备还可以成功接收推送通知。 在服务器端,没有错误或连接拒绝,而且推送通知似乎每次都发送成功。
我有一个将 Angular 错误记录到数据库的应用程序,并且我偶尔会看到此错误的日志 Error: [$compile:tpload] http://errors.angularjs.org/1.5.
我收到一个 ImportError from azure.storage.blob import BlobServiceClient 但是我意识到当我安装依赖项时会发生错误 pip install a
我已经完成了使用AVAudioPlayer实现的简单音频播放GUI。 播放声音时,我使用UISlider提供播放反馈... 这是奇怪的地方。 我有一个非常偶尔发生的问题-而且大多数情况都不会发生,因此
在我的 XNA 游戏中,我的计算机(2.5 Ghz 双核 Intel Centrino 2)在 Debug模式下有一个大约需要 10 毫秒的操作。它只会每隔几分钟运行一次,它基本上只是整数数学/按位运
我相信我的应用程序编码正确(至少大部分是这样),因为它在大约 98% 的时间里都能正常工作。但是,大约 2% 的时间,我得到的似乎是有效的身份验证 token ,但是当我去发布照片时,我收到以下错误“
我在 apple store 上有一个应用程序,在 iOS6 更新后,我在 MKMapView 中收到了数百份崩溃报告。我无法在我的设备上重现崩溃。它看起来像是 EAGLContext 的问题。我们不
我最近开始使用 Foundation 5(我第一次使用 Foundation),我遇到了一个问题,似乎任何元素都响应了 .click 事件(例如顶部导航栏,单击元素时显示的数据下拉列表)将随机不起作用
花了大约一整天的时间试图解决这个问题,希望有人能帮助我!我是新来的,所以如果这是一个重复的问题,我深表歉意(我做了我的研究,但无法提前找到任何东西)。 我正在为我的咨询公司构建的网站使用浏览器缓存,但
我有一个表格,使用了以下 CSS 和 HTML: .price { position:relative; display:block; text-align:center; }
我们使用 ansible 将多个节点配置为一个集群。这些机器是在自定义 AWS 类似基础设施上创建的实例。 我们在不同的剧本上有大约一百个任务,它们在每个节点上执行。 问题是,我们收到零星的主机无法访
我们偶尔会从用户那里收到崩溃报告(我们使用崩溃报告程序包将崩溃发送到我们的服务器),并出现以下错误: “非法尝试在不同上下文中的对象之间建立关系‘...’” (不同的报表可能有不同的关系,并非所有报表
我是一名优秀的程序员,十分优秀!