我有一个非常简单的问题。我正在尝试从linkedIn页面的html获取职位描述,但是我没有获取页面的html,而是获取了几行看起来像javascript代码的行。我对此很陌生,因此任何帮助将不胜感激!谢谢
这是我的代码:
import requests
url = "https://www.linkedin.com/jobs/view/inside-sales-manager-at-stericycle-1089095836/"
page_html = requests.get(url).text
print(page_html)
运行此命令时,我没有得到期望包含工作描述的html ...我只得到了几行javascript代码。
答案 0 :(得分:0)
某些网站会根据访问该网站的浏览器的类型显示不同的内容。 LinkedIn是这种行为的完美例子。如果浏览器具有高级功能,则网站可能会呈现“更丰富”的内容-更具动态性和风格。而且使用该漫游器也无助于查看这些网站。
要解决此问题,您需要执行以下步骤:
\usr
Selenium
安装作为Python模块的pip install selenium
。
请注意,硒取决于另一个称为msgpack
的包装。因此,您应该首先使用此命令pip install msgpack
安装它。import requests
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
def create_browser(webdriver_path):
#create a selenium object that mimics the browser
browser_options = Options()
#headless tag created an invisible browser
browser_options.add_argument("--headless")
browser_options.add_argument('--no-sandbox')
browser = webdriver.Chrome(webdriver_path, chrome_options=browser_options)
print("Done Creating Browser")
return browser
url = "https://www.linkedin.com/jobs/view/inside-sales-manager-at-stericycle-1089095836/"
browser = create_browser('/usr/chromedriver') #DON'T FORGET TO CHANGE THIS AS YOUR DIRECTORY
browser.get(url)
page_html = browser.page_source
print(page_html[-10:]) #prints dy></html>
现在,您拥有了整个页面。我希望这能回答您的问题!