【发布时间】:2018-12-03 10:13:39
【问题描述】:
我正在尝试抓取网页以列出 URL 中发布的工作:https://careers.microsoft.com/us/en/search-results?rk=l-hyderabad
网页检查详情请参考图片Web inspect
通过网页检查观察到以下内容:
-
列出的每个工作都在一个带有 class="jobs-list-item" 的 HTML li 中。 Li 在 li 中的父 Div 中包含以下 html 标记和数据
data-ph-at-job-title-text="软件工程师 II", data-ph-at-job-category-text="工程", data-ph-at-job-post-date-text="2018-03-19T16:33:00"。
class="information" 的父 Div 中的第一个子 Div 具有带有 url 的 HTML href="https://careers.microsoft.com/us/en/job/406138/Software-Engineer-II"
- 父 Div 中具有 class="description au-target" 的第三个子 Div 具有简短的职位描述
我的要求是为每个工作提取以下信息
- 职位名称
- 工作类别
- 职位发布日期
- 职位发布时间
- 职位网址
- 职位简介
我已尝试使用 Python 代码来抓取网页,但无法提取所需的信息。 (请忽略下面代码中显示的缩进)
import requests
from bs4 import BeautifulSoup
def ms_jobs():
url = 'https://careers.microsoft.com/us/en/search-results?rk=l-hyderabad'
resp = requests.get(url)
if resp.status_code == 200:
print("Successfully opened the web page")
soup = BeautifulSoup(resp.text, 'html.parser')
print(soup)
else:
print("Error")
ms_jobs()
【问题讨论】:
-
您需要使用任何浏览器模拟器,例如
selenium从该页面中提取所需的数据,因为它们是动态生成的。 -
感谢 SIM 的建议。我对 Python 中的 Selenium 没有任何了解。能否请您指出一些我可以调整的示例工作解决方案。
标签: python-3.x web-scraping beautifulsoup urllib2