我正在尝试编写一个脚本,从特定的website获取作业详细信息。当我在Google Chrome中从源代码(command-option-U)和开发工具(command-option-I)查看html代码时,html代码似乎有所不同。开发者工具有我可以用HTML解析的实际细节
我所追求的一个例子可以在网站上的第一个招聘公告中找到:
Canada-Alberta-Fort McMurray, Canada-Alberta-Edmonton
我知道我需要使用POST提交表单,但除此之外,我在获取开发人员工具中找到的html代码时遇到了困难,但在我的请求中却没有
import requests
url='https://caterpillar.taleo.net/careersection/cat+external+cs/jobsearch.ftl?lang=en&portal=4140124208&src=CWS-10005'
r = requests.post(url, data={'dropListSize': 100})
print(r.status_code, r.reason)
html=r.text
我也尝试过使用mechanize的类似策略
import mechanize
br = mechanize.Browser()
br.open(url)
for f in br.forms():
print f
br.select_form('ftlform')
br.form["dropListSize"] = ["100"]
br.submit()
html=br.response().read()
一个相关的问题是,我将如何进入下一页,但我觉得我可能能够找到答案
有一个XHR POST请求发送到} 在真实浏览器中加载页面,让浏览器加载页面,而不必担心搜索结果如何传递
https://caterpillar.taleo.net/careersection/cat+external+cs/jobsearch.ajax
端点,该端点包含响应中的所有搜索结果。您可以尝试模拟它(从参数数量和响应格式来看,我怀疑这不会很有趣),或者您可以通过^{使用} 无头浏览器的工作示例:
selenium
+^{印刷品:
相关问题 更多 >
编程相关推荐