簡體   English   中英

Vs 代碼問題:沒有代碼 output。我該如何解決這個問題?

[英]Vs Code Issue: no code output. how do i fix this?

我對編碼非常陌生,正在嘗試在 VS 代碼編輯器中編寫用於網絡抓取的練習腳本。 但每次我運行腳本時,我都會遇到沒有真正的 output 的問題。你能告訴我問題是什么嗎? 注意:粉紅色的方框只是覆蓋了我的名字在這里輸入圖片描述

我嘗試運行代碼並期望從鏈接中獲取網絡抓取的數據。 我嘗試了許多不同的腳本,但同樣的問題發生了。 所以我認為整個系統一定有問題

VSCode 是一個優秀的 IDE。當你開始一個新項目(或在 VSCode 中打開一個文件夾)時,它沒有附帶任何構建工具或編譯器等。你必須手動配置它們。 您必須使用不同的工具鏈設置環境。 以下是Python的一些說明

這不是 VSCode 的問題,但我會回答你的問題。

你不能用請求和漂亮的湯來抓取 indeed.com,因為它有使用 cloudflare 的機器人保護。 如果您仔細查看響應,它會返回 403 Forbidden 狀態代碼而不是 200 OK。 您可以使用 selenium 使用無頭瀏覽器進行抓取。

這是一個例子

首先安裝selenium和webdriver_manager

pip install selenium webdriver_manager
from selenium.webdriver import Chrome, ChromeOptions
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# Make sure you are not detected as HeadlessChrome, some sites will refuse access
options = ChromeOptions()
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)

driver = Chrome(options=options, service=Service(
    ChromeDriverManager().install()))

# Make sure you are not detected as HeadlessChrome, some sites will refuse access
ua = driver.execute_script("return navigator.userAgent").replace(
    "HeadlessChrome", "Chrome")
driver.execute_cdp_cmd("Network.setUserAgentOverride", {
                       "userAgent": ua})
driver.execute_script(
    "Object.defineProperty(navigator,'webdriver',{get:()=>undefined});")


driver.get("https://www.indeed.com/companies/best-Agriculture-companies")
main = driver.find_element(By.ID, "main")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM