擅长:python、mysql、java
<p>内容在iframe中并通过js更新(因此在初始请求中不存在)。您可以使用页面用于获取iframe内容的相同链接(iframe<code>src</code>)。然后从包含信息的脚本标记中提取字符串并用<code>json</code>加载,提取<code>description</code>(这是html)并传递回bs,然后选择<code>h2</code>标记。现在,如果需要的话,其余的信息也存储在第二个soup对象中。在</p>
<pre><code>import requests
from bs4 import BeautifulSoup as bs
import json
r = requests.get('https://careersus-endologix.icims.com/jobs/2034/associate-supplier-quality-engineer/job?mobile=false&width=1140&height=500&bga=true&needsRedirect=false&jan1offset=0&jun1offset=60&in_iframe=1')
soup = bs(r.content, 'lxml')
script = soup.select_one('[type="application/ld+json"]').text
data = json.loads(script)
soup = bs(data['description'], 'lxml')
headers = [item.text for item in soup.select('h2')]
print(headers)
</code></pre>
<hr/>
<p><a href="https://i.stack.imgur.com/iTe2Z.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/iTe2Z.png" alt="enter image description here"/></a></p>