我需要从
https://eservices.dha.gov.ae/DHASearch/UIPages/ProfessionalSearch.aspx?PageLang=En
提取数据。我需要 4 列 -“姓名”、“性别”、“职称”、“医院名称”、“联系方式”。单击名称时将显示“标题”信息。 我面临的另一个问题是从多个页面中提取信息。总共有 10071 条记录。我需要所有这些记录的信息。目前我在 R 中使用 rvest 包,但它抛出错误。请参阅下面的代码 -
library(rvest)
session = html_session("https://eservices.dha.gov.ae/DHASearch/UIPages/ProfessionalSearch.aspx")
form = html_form(session)[[1]]
错误:下标超出范围
我愿意接受 Python 解决方案。我是在 Python 中使用 beautifulsoup 的新手。任何帮助将不胜感激!
如果您有权抓取所有这些个人信息,那么最好的方法是在 python 中使用 selenium 和 Web 驱动程序,通过调用用于每个分页页面的 js 函数调用并拉取页面来导航页面他们每个人的来源。这可能是您最好的选择,因为数据是使用 Javascript 调用加载的。
如果您对 Python 持开放态度,我建议使用 Beautiful Soup 进行网页抓取。它很简单并且可以很好地与 requests 库配合使用。首先使用
requests. Get("url")
获取网页,然后使用 Beautiful Soup 解析它:soup = Beautiful Soup(website. Content, 'html. Parser')
。从那里,您可以使用 rows = soup.findAll('tr')
提取特定数据,例如表中的行。