Python 当作业可用时使用BeautifulSoup通知我

Python 当作业可用时使用BeautifulSoup通知我,python,beautifulsoup,alert,Python,Beautifulsoup,Alert,我正在尝试为Northvolt()公司提供的特定工作列表创建警报。该职位的标题是“能源协调员”。目前,他们没有寻找我的职位,所以我想创建一个脚本,当它可用时可以提醒我 我试着使用BeautifulSoup。这样做的目的是每天在职业网页上搜索“能源协调员”一词,并随时给我发一封电子邮件 问题是,当我请求时,我认为我的终端没有收到正确的HTML。我不知道该如何描述它,或者这些是否有意义。下面是一些代码 import requests from bs4 import Beautiful

我正在尝试为Northvolt()公司提供的特定工作列表创建警报。该职位的标题是“能源协调员”。目前,他们没有寻找我的职位,所以我想创建一个脚本,当它可用时可以提醒我

我试着使用BeautifulSoup。这样做的目的是每天在职业网页上搜索“能源协调员”一词,并随时给我发一封电子邮件

问题是,当我请求时,我认为我的终端没有收到正确的HTML。我不知道该如何描述它,或者这些是否有意义。下面是一些代码

    import requests
    from bs4 import BeautifulSoup
    
    result = requests.get("https://northvolt.com/career")
    
    source = result.text
    
    soup = BeautifulSoup(source, "html.parser")
    print(soup.prettify())
当我打印汤并在终端搜索栏中从网页中搜索各种关键字时,我找不到关键字。当我在
requests.get(“”)中使用另一个网页时,我会在终端中找到网页上显示的所有内容。我在这里做错了什么,为什么我从Northvolt的网页上的请求与其他网页相比如此奇怪

此图显示了我在终端中接收到的内容。一堵没有写任何关于工作清单的文字墙


作业是使用该页面上的AJAX获取的。如果在浏览器中打开“网络”选项卡,应该会看到其中一个请求从中获取JSON数据

我假设URL中的ID是Jobylon上的公司ID

BeautifulSoup只获取静态HTML页面。它不像浏览器那样加载和执行JavaScript。但他有能力做到这一点

但是,在这种情况下,您可以直接从上面Python代码中的URL获取JSON数据

例如:

import requests

url = "https://feed.jobylon.com/feeds/150d2f7a9df44df8a1ac9c5c794f7220/"

querystring = {"format":"json"}

headers = {
    'Accept': "application/json",
    'Accept-Language': "en-US,en;q=0.5",
    'Content-Type': "application/json;charset=UTF-8",
    'Origin': "https://northvolt.com",
    'DNT': "1",
    'Referer': "https://northvolt.com/career",
    'Connection': "keep-alive",
    'TE': "Trailers",
    'cache-control': "no-cache",
    }

response = requests.request("GET", url, headers=headers, params=querystring)

data = response.json()

print(data)
为了方便地生成上述Python代码,我通常右键单击Firefox网络选项卡中的请求,单击“复制为cURL”,将其导入Postman(通过单击“导入”,然后单击“粘贴原始文本”),然后单击Postman中请求下的“代码”,并将其导出为Python代码片段


我上传了一个简短的演示视频。

不知道邮递员有一个导出代码功能。谢谢你的提示!非常感谢分享关于邮递员和其他技术的想法。伟大的