国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Selenium技術方案的爬蟲入門實踐

這篇具有很好參考價值的文章主要介紹了基于Selenium技術方案的爬蟲入門實踐。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

通過爬蟲技術抓取網頁,動態(tài)加載的數據或包含 JavaScript 的頁面,需要使用一些特殊的技術和工具。以下是一些常用的技術方法:

  • 使用瀏覽器模擬器:使用像 Selenium、PhantomJS 或其他類似工具可以模擬一個完整的瀏覽器環(huán)境,這些工具都可以執(zhí)行JavaScript并且返回渲染后的頁面內容。使用這種方法可以模擬用戶與網站的交互,從而得到完整的運行時狀態(tài)。

  • 分析網絡請求:使用網絡抓包工具(例如 Fiddler、Wireshark)來監(jiān)視網站上的網絡請求。通過分析網絡請求并確定用于檢索數據的URL,可以獲取請求數據并解析響應數據,從而獲得所需的信息。

  • 解析 JavaScript 代碼:有些網站將數據存儲在 JavaScript 中并動態(tài)顯示在頁面上。使用 JavaScript 解析器(例如 jsdom、PyV8 等)可以執(zhí)行 JavaScript 代碼并解析響應結果,以獲取所需的數據。

  • 接口直接請求:有些網站提供專用的API(應用程序接口),用于向開發(fā)人員公開數據。這些API允許開發(fā)人員通過發(fā)送HTTP請求來獲取特定數據,并且網絡請求和響應數據通常以JSON格式進行編碼。

總之,抓取動態(tài)加載的數據或包含JavaScript的頁面需要深入了解目標網站的技術細節(jié)以及使用現代的網絡爬蟲技術來獲取所需的信息。

本文采用使用瀏覽器模擬器技術方案。

1. 使用Chrome開發(fā)者工具精確定位網頁元素位置

F12鍵直接打開Chrome開發(fā)者模式,或者找到Chrome瀏覽器的“更多工具”中的“開發(fā)者工具”,如下圖所示(這里以百度界面為例),使用百度網頁查詢搜索為例,獲取界面元素,進行爬取。

1.1. 定位制定元素

定位原始xpath,在Elements中點擊箭頭(下圖紅圓圈圈定位置的箭頭),移動鼠標箭頭到百度輸入框位置定位指定的元素(如下圖所示,手工繪制箭頭改變了顏色,并且彈出“Input#kw…”)。
基于Selenium技術方案的爬蟲入門實踐,數據分析,Python,selenium,爬蟲,python,chrome

1.2. 在定位元素的指定位置

在元素區(qū)域選定位置,鼠標右鍵彈出菜單選擇框,選擇Copy顯示對應的元素定位方法。 點擊:Copy Xpath,復制元素路徑://[@id=“kw”]。
基于Selenium技術方案的爬蟲入門實踐,數據分析,Python,selenium,爬蟲,python,chrome
使用快捷查詢功能,在Chrome瀏覽器中:Ctral+F調出查詢功能。在下面的輸入框,輸入剛才的//
[@id=“kw”] 路徑可以高亮在界面展示對應的元素。

2. Selenium工具爬取內容

Selenium是一種用于Web應用程序測試的自動化工具。它允許用戶使用各種編程語言(如Java、Python、C#等)編寫測試腳本來模擬實際用戶在Web瀏覽器中的操作,例如點擊鏈接、填寫表單等等。Selenium也可以用于爬蟲、數據挖掘和Web自動化等領域,因為它可以模擬人類的操作來獲取Web頁面的內容和數據。Selenium的優(yōu)勢在于它可以與各種主要的Web瀏覽器和操作系統(tǒng)一起使用,并且可以從多個平臺上運行測試腳本。此外,Selenium還具有靈活性和可擴展性,因為它可以與其他測試框架和工具集成使用,從而提高測試效率和可靠性。

Selenium是一款常用的自動化測試工具,其開源地址為:https://github.com/SeleniumHQ/selenium。

2.1. 安裝Selenium

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium 

2.2. 安裝瀏覽器

Selenium是一個用于自動化測試的工具,而自動化測試需要模擬用戶操作。而用戶操作通常是通過瀏覽器完成的。所以Selenium需要與瀏覽器進行交互,模擬用戶操作。但是,Selenium本身并不包含瀏覽器,需要通過瀏覽器驅動來實現與瀏覽器的交互。瀏覽器驅動充當著Selenium與瀏覽器之間的橋梁,通過驅動程序與瀏覽器進行通信,從而實現模擬用戶操作的自動化測試。

本文僅使用Chrome瀏覽器,其驅動如下:
ChromeDriver 下載地址:https://chromedriver.storage.googleapis.com/index.html
基于Selenium技術方案的爬蟲入門實踐,數據分析,Python,selenium,爬蟲,python,chrome
安裝時,需要把“chromedriver.exe”放到chrome的目錄下…\Google\Chrome\Application\ ,然后設置path環(huán)境變量,增加chrome的目錄(本文為C:\Program Files\Google\Chrome\Application)。

chromedriver.exe

Starting ChromeDriver 114.0.5735.90 (386bc09e8f4f2e025eddae123f36f6263096ae49-refs/branch-heads/5735@{#1052}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.

windows10上的環(huán)境變量配置如下:
基于Selenium技術方案的爬蟲入門實踐,數據分析,Python,selenium,爬蟲,python,chrome

2.3. 示例代碼

仍以爬取百度查詢結果為例,模擬百度過程如下:

  • 打開百度網頁
  • 輸入查詢內容,本文查詢輸入為“python”
  • 點擊打開第一行結果

示例代碼:

?# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome() 

url = 'https://www.baidu.com/'
driver.get(url)
driver.maximize_window()

# 獲取百度搜索框元素
search_box = driver.find_element(By.ID ,"kw")   # 按ID查詢
#search_box = driver.find_element(By.NAME,'wd') # 按Name查詢
 
# 在搜索框中輸入關鍵詞
search_box.send_keys("Python")
 
# 模擬按下回車鍵進行搜索
search_box.send_keys(Keys.RETURN)
 
# 或者通過這種方法回車搜索
# ---------------------------------------
# 獲取搜索按鈕元素
# search_button = driver.find_element(By.ID, "su")
 
# 點擊搜索按鈕
# search_button.click()
#-----------------------------------------
 
# 等待頁面加載完成
driver.implicitly_wait(10)
 
# 獲取搜索結果列表元素
search_results = driver.find_elements(By.CSS_SELECTOR, ".result")
 
# 輸出搜索結果標題和鏈接
for result in search_results:
    title = result.find_element(By.CSS_SELECTOR,"h3").text
    link = result.find_element(By.CSS_SELECTOR,"a").get_attribute("href")
    print(title, link)
 
# 點擊第一個搜索結果鏈接
first_result = search_results[0].find_element(By.CSS_SELECTOR,"a")
first_result.click()
 
# 返回上一頁
driver.back()
 
# 刷新當前頁面
driver.refresh()
 
# 最大化瀏覽器窗口
driver.maximize_window()
 
# 關閉瀏覽器實例
driver.quit()

#time.sleep(1)

注:因為 find_element_by_css_selector 方法已經被棄用,最新版本的 Selenium 推薦使用 find_element 方法。因此,這段代碼使用了更新后的方法來定位頁面元素。

結果如下所示:
基于Selenium技術方案的爬蟲入門實踐,數據分析,Python,selenium,爬蟲,python,chrome
需要注意的是,動態(tài)生成的頁面可能需要更長的時間來加載和解析。因此,您可能需要增加等待時間或使用其他技術來加快頁面加載速度。

3. 小結

本文介紹了如何使用Selenium技術進行爬蟲實踐,以百度網頁查詢?yōu)槔?。首先,我們將學習如何在Chrome瀏覽器開發(fā)者模式下獲取元素。接下來,我們將指導您安裝Selenium和Chromedriver。最后,我們將通過一個簡單的示例來演示如何模擬百度搜索"Python"的過程。

通過以上示例代碼,您可以實現使用Selenium技術模擬百度搜索"Python"的功能。這只是爬蟲技術的入門,您還可以學習更多高級功能,如模擬登錄、處理動態(tài)加載內容等。

參考:

蟲師. selenium + python自動化測試環(huán)境搭建. 博客園. 2013.05

lovingsoft.chrome瀏覽器f12快速定位元素的技巧. CSDN博客. 2021.01文章來源地址http://www.zghlxwxcb.cn/news/detail-647009.html

到了這里,關于基于Selenium技術方案的爬蟲入門實踐的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【Python爬蟲與數據分析】爬蟲selenium工具

    【Python爬蟲與數據分析】爬蟲selenium工具

    目錄 一、selenium工具安裝 二、selenium打開瀏覽器測試 三、無頭瀏覽器 四、元素定位 五、頁面滑動 六、按鍵、填寫登錄表單 七、頁面切換 八、實戰(zhàn)爬取當當網書籍數據 Selenium是Web的自動化測試工具,為網站自動化測試而開發(fā),Selenium可以直接運行在瀏覽器上,它支持所有主

    2024年02月15日
    瀏覽(21)
  • 【頭歌】——數據分析與實踐-python-網絡爬蟲-Scrapy爬蟲基礎-網頁數據解析-requests 爬蟲-JSON基礎

    第1關 爬取網頁的表格信息 第2關 爬取表格中指定單元格的信息 第3關 將單元格的信息保存到列表并排序 第4關 爬取div標簽的信息 第5關 爬取單頁多個div標簽的信息 第6關 爬取多個網頁的多個div標簽的信息 第1關 Scarpy安裝與項目創(chuàng)建 第2關 Scrapy核心原理 第1關 XPath解析網頁 第

    2024年01月22日
    瀏覽(29)
  • 爬蟲與數據分析項目實戰(zhàn)2.1 Selenium爬取Boss招聘信息

    完成: 1.爬取信息 2.基于爬取結果篩選符合條件的信息 ? ?崗位名稱、薪資、崗位要求、地區(qū)、公司名稱、公司規(guī)模、細節(jié)鏈接 3.篩選base杭州的崗位保存到csv文件中 But容易出現網絡不穩(wěn)定造成的無法定位元素所在位置的情況,小范圍爬取可以 4.基于csv分析后續(xù)

    2024年02月08日
    瀏覽(26)
  • 爬蟲入門指南(8): 編寫天氣數據爬蟲程序,實現可視化分析

    爬蟲入門指南(8): 編寫天氣數據爬蟲程序,實現可視化分析

    天氣變化是生活中一個重要的因素,了解天氣狀況可以幫助我們合理安排活動和做出決策。本文介紹了如何使用Python編寫一個簡單的天氣數據爬蟲程序,通過爬取指定網站上的天氣數據,并使用Matplotlib庫對數據進行可視化分析。通過這個例子,我們不僅可以學習Python的相關庫

    2024年02月12日
    瀏覽(30)
  • Python網絡爬蟲逆向分析爬取動態(tài)網頁、使用Selenium庫爬取動態(tài)網頁、?編輯將數據存儲入MongoDB數據庫

    Python網絡爬蟲逆向分析爬取動態(tài)網頁、使用Selenium庫爬取動態(tài)網頁、?編輯將數據存儲入MongoDB數據庫

    目錄 逆向分析爬取動態(tài)網頁 了解靜態(tài)網頁和動態(tài)網頁區(qū)別 1.判斷靜態(tài)網頁 ?2.判斷動態(tài)網頁 ?逆向分析爬取動態(tài)網頁 使用Selenium庫爬取動態(tài)網頁 安裝Selenium庫以及下載瀏覽器補丁 頁面等待 ?頁面操作 1.填充表單 2.執(zhí)行JavaScript 元素選取 Selenium庫的find_element的語法使用格式如下

    2024年02月15日
    瀏覽(65)
  • selenium+webdriver爬蟲技術

    selenium+webdriver爬蟲技術

    百度百科Selenium時,頭一段文字介紹了selenium的主要作用和特點:selenium是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。這個工具的主要功能包括:

    2024年02月13日
    瀏覽(22)
  • 運用了selenium的爬蟲技術

    這里input()是為了延遲程序,避免網站打開后自動關閉 注意像這種模擬瀏覽器的操作盡量在pycharm中使用,jupyter操作起來會很慢。 注意一下如果在pycharm可以進行斷點調試,在代碼左邊設置一個斷點,然后F9繼續(xù)執(zhí)行,可以觀察到瀏覽器是如何輸入了你輸入的內容。 剛才是用

    2024年02月03日
    瀏覽(15)
  • 基于網絡爬蟲的天氣數據分析

    基于網絡爬蟲的天氣數據分析

    網絡爬蟲原理 ??網絡爬蟲是一種自動化程序,用于從互聯(lián)網上獲取數據。其工作原理可以分為以下幾個步驟: 定義起始點:網絡爬蟲首先需要定義一個或多個起始點(URL),從這些起始點開始抓取數據。 發(fā)送HTTP請求:爬蟲使用HTTP協(xié)議向目標網站發(fā)送請求,獲取網頁內容。

    2024年01月19日
    瀏覽(21)
  • 爬蟲入門基礎與Selenium反爬蟲策略

    爬蟲入門基礎與Selenium反爬蟲策略

    目錄 一、爬蟲入門基礎 1、什么是爬蟲? 2、爬蟲的分類 3、爬蟲的基本流程 二、Selenium簡介 1、Selenium是什么? 2、Selenium的用途 三、應對反爬蟲的Selenium策略 1、使用代理IP 2、模擬用戶行為 3、設置合理的請求間隔時間 4、隨機化請求參數 5、使用JavaScript渲染引擎 四、Seleniu

    2024年02月05日
    瀏覽(18)
  • 大數據經典技術解析:Hadoop+Spark大數據分析原理與實踐

    作者:禪與計算機程序設計藝術 大數據時代已經來臨。隨著互聯(lián)網、移動互聯(lián)網、物聯(lián)網等新興技術的出現,海量數據開始涌現。而在這些海量數據的基礎上進行有效的處理,成為迫切需要解決的問題之一。Apache Hadoop和Apache Spark是目前主流開源大數據框架。由于其易于部署

    2024年02月07日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包