Cha*_*uad 1 beautifulsoup web-scraping python-3.x python-requests
我有一个非常简单的问题。我正在尝试从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)
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我没有得到我期望包含工作描述的 html...我只是得到了几行 javascript 代码。
一些网站根据访问网站的浏览器类型呈现不同的内容。LinkedIn 就是这种行为的完美例子。如果浏览器具有高级功能,网站可能会呈现“更丰富”的内容——更具动态和风格的内容。使用机器人无助于查看这些网站。
要解决此问题,您需要执行以下步骤:
\usrSelenium通过运行安装它是一个 python 模块pip install selenium。请注意,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>
Run Code Online (Sandbox Code Playgroud)
现在,您拥有了整个页面。我希望这回答了你的问题!!
| 归档时间: |
|
| 查看次数: |
4187 次 |
| 最近记录: |