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

Python爬蟲|使用Selenium輕松爬取網(wǎng)頁數(shù)據(jù)

這篇具有很好參考價值的文章主要介紹了Python爬蟲|使用Selenium輕松爬取網(wǎng)頁數(shù)據(jù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 什么是selenium?

Python爬蟲|使用Selenium輕松爬取網(wǎng)頁數(shù)據(jù),python,selenium,開發(fā)語言

Selenium是一個用于Web應用程序自動化測試工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作瀏覽器一樣。支持的瀏覽器包括IE,F(xiàn)irefox,Safari,Chrome等。

Selenium可以驅(qū)動瀏覽器自動執(zhí)行自定義好的邏輯代碼,也就是可以通過代碼完全模擬成人類使用瀏覽器自動訪問目標站點并操作,那我們也可以拿它來做爬蟲。

Selenium本質(zhì)上是通過驅(qū)動瀏覽器,完全模擬瀏覽器的操作,比如跳轉(zhuǎn)、輸入、點擊、下拉等...進而拿到網(wǎng)頁渲染之后的結(jié)果,可支持多種瀏覽器。

在日常開發(fā)中我們經(jīng)常使用selenium來完成自動化操作、數(shù)據(jù)爬取等任務。

2. 當作為數(shù)據(jù)爬蟲時什么情況下使用Selenium?

(1)使用selenium的優(yōu)點:

就是可以幫我們避開一系列復雜的通信流程,例如在我們之前學習的requests模塊,那么requests模塊在模擬請求的時候是不是需要把素有的通信流程都分析完成后才能通過請求,然后返回響應。假如目標站點有一系列復雜的通信流程,例如的登錄時的滑動驗證等...那么你使用requests模塊的時候是不是就特別麻煩了。不過你也不需要擔心,因為網(wǎng)站的反爬策略越高,那么用戶的體驗效果就越差,所以網(wǎng)站都需要在用戶的淫威之下降低安全策略。

再看一點requests請求庫能不能執(zhí)行js?是不是不能呀!那么如果你的網(wǎng)站需要發(fā)送ajax請求,異步獲取數(shù)據(jù)渲染到頁面上,是不是就需要使用js發(fā)送請求了。那瀏覽器的特點是什么?是不是可以直接訪問目標站點,然后獲取對方的數(shù)據(jù),從而渲染到頁面上。那這些就是使用selenium的好處!?

(2)使用selenium的缺點:

使用selenium本質(zhì)上是驅(qū)動瀏覽器對目標站點發(fā)送請求,那瀏覽器在訪問目標站點的時候,是不是都需要把靜態(tài)資源都加載完畢。html、css、js這些文件是不是都要等待它加載完成。是不是速度特別慢。那用它的壞處就是效率極低!所以我們一般用它來做登錄驗證。

(3)總結(jié):

使用Selenium在爬取數(shù)據(jù)時既有有點也有缺點,因此需要根絕自己的需求明確是否選擇和使用Selenium。?

3. 安裝和使用selenium

selenium支持包括Chrome、Firefox、Safari、Opera、Edge等眾多瀏覽器,針對不同瀏覽器,需要安裝不同的驅(qū)動器,本文以FireFox瀏覽器為例講解。

(1)安裝FireFox瀏覽器

直接下載和電腦對應版本的friefox瀏覽器

Firefox 火狐瀏覽器 - 全新、安全、快速 | 官方最新下載 下載由致力于互聯(lián)網(wǎng)健康與隱私保護的非營利組織 Mozilla 全力開發(fā)的瀏覽器 — Firefox。Windows、Mac、Linux、Android、與 iOS 版皆可免費下載。https://www.firefox.com.cn/

(2)安裝FireFox瀏覽器驅(qū)動geckodriver

geckodriver是由Mozilla基金會和Mozilla公司開發(fā)的許多應用程序中使用的Web瀏覽器引擎。geckodriver是Selenium中的測試和Firefox瀏覽器之間的鏈接。

Releases · mozilla/geckodriver · GitHubWebDriver for Firefox. Contribute to mozilla/geckodriver development by creating an account on GitHub.https://github.com/mozilla/geckodriver/releases下載對應版本的geckodriver,同時注意firefox瀏覽器版本。下載后,解壓文件,將解壓后的 geokodriver.exe 驅(qū)動器放到Python安裝目錄下

Python爬蟲|使用Selenium輕松爬取網(wǎng)頁數(shù)據(jù),python,selenium,開發(fā)語言

(3)Python下載和安裝selenium庫

使用pip安裝selenium時,可以設(shè)置pip國內(nèi)鏡像地址加快selenium包下載速度

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip config list

Python爬蟲|使用Selenium輕松爬取網(wǎng)頁數(shù)據(jù),python,selenium,開發(fā)語言

安裝selenium?

pip install selenium

?驗證是否安裝成功

pip show selenium

Python爬蟲|使用Selenium輕松爬取網(wǎng)頁數(shù)據(jù),python,selenium,開發(fā)語言

(4)在Python中使用selenium實現(xiàn)瀏覽器操作實例

# 瀏覽器自動化工具
from selenium import webdriver
from selenium.webdriver.common.by import By

# MySQL數(shù)據(jù)庫鏈接工具
import pymysql
# 文件操作類
import os
# 時間類
from time import sleep

from docx import Document
import pypandoc

#鏈接MySQL
mysqlCon = pymysql.connect(
    host="127.0.0.1",
    port=3306,
    user="root",
    password="123456",
    database="toutiao"
)



while True:
    cursor = mysqlCon.cursor()
    # 執(zhí)行 SQL 查詢語句
    cursor.execute("select id,item_id,article_url,title from happy where state = 0 order by read_count asc limit 0,1")
    # 獲取查詢結(jié)果
    result = cursor.fetchall()

    sql = "update happy set state = 1 where id = %s"
    id = result[0][0]
    cursor.execute(sql,id)
    mysqlCon.commit()


    articleId = result[0][1]
    articleTitle = result[0][3]
    # articleId = "7279996073686123068"

    # 通過查詢列表獲取未發(fā)布的熱門文章信息,根據(jù)獲取的文章URL 打開URL鏈接地址
    # articleId = "7291869777788666407"
    # 創(chuàng)建一個瀏覽器實例
    browser = webdriver.Firefox()
    # # 獲取請求地址
    browser.get("https://toutiao.com/group/"+articleId)

    sleep(30)

    # 根據(jù)元素名稱獲取元素內(nèi)容
    textContainer = browser.find_element(By.CLASS_NAME,"syl-article-base")
    articleHtml = textContainer.get_attribute("innerHTML")

    # 根據(jù)解析的HTML內(nèi)容,獲取文章文本信息和圖片信息,并將文本信息和圖片保存到Word文檔中
    # file = open("E:\\studyproject\\python\\toutiao\data\\"+articleId+"\\"+articleId+".html", "r",encoding='utf-8')
    os.mkdir("E:\\studyproject\\python\\toutiao\data\\happy\\"+articleId)

    output = pypandoc.convert_text(articleHtml, 'docx','html',outputfile="E:\\studyproject\\python\\toutiao\data\\happy\\"+articleId+"\\"+articleTitle+".docx")



    sleep(30)
    browser.quit()

今日頭條文章做了反爬蟲處理,因此無法直接通過requests請求直接獲取文章詳情信息,因此只能使用selenium。上述代碼示例中我們首先從數(shù)據(jù)庫中獲取已經(jīng)爬取到的熱門文章id,根據(jù)文章id拼接出文章url地址,使用selenium來操作瀏覽器,根據(jù)拼接的url地址打開文章頁面,獲取到文章內(nèi)容標簽元素,獲取頁面內(nèi)容,并將頁面文章文本和圖片內(nèi)容保存到word文檔中。

一分鐘爬取一篇文章,非常低高效

Python爬蟲|使用Selenium輕松爬取網(wǎng)頁數(shù)據(jù),python,selenium,開發(fā)語言

Python爬蟲|使用Selenium輕松爬取網(wǎng)頁數(shù)據(jù),python,selenium,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-765096.html

到了這里,關(guān)于Python爬蟲|使用Selenium輕松爬取網(wǎng)頁數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • Python爬蟲入門:使用selenium庫,webdriver庫模擬瀏覽器爬蟲,模擬用戶爬蟲,爬取網(wǎng)站內(nèi)文章數(shù)據(jù),循環(huán)爬取網(wǎng)站全部數(shù)據(jù)。

    Python爬蟲入門:使用selenium庫,webdriver庫模擬瀏覽器爬蟲,模擬用戶爬蟲,爬取網(wǎng)站內(nèi)文章數(shù)據(jù),循環(huán)爬取網(wǎng)站全部數(shù)據(jù)。

    *嚴正聲明:本文僅限于技術(shù)討論與分享,嚴禁用于非法途徑。 目錄 準備工具: 思路: 具體操作: 調(diào)用需要的庫: 啟動瀏覽器驅(qū)動: 代碼主體: ?完整代碼(解析注釋): Python環(huán)境; 安裝selenium庫; Python編輯器; 待爬取的網(wǎng)站; 安裝好的瀏覽器; 與瀏覽器版本相對應的

    2023年04月24日
    瀏覽(103)
  • Python爬蟲——Selenium在獲取網(wǎng)頁數(shù)據(jù)方面的使用

    Python爬蟲——Selenium在獲取網(wǎng)頁數(shù)據(jù)方面的使用

    目錄 一、Selenium (一)引入 ?(二)啟動瀏覽器 二、操作 (一)點擊 (二)輸入 三、數(shù)據(jù)獲取 四、特點 五、抓取拉鉤實例 六、其他操作 (一)窗口切換 代碼 (二)操作下拉列表/無頭瀏覽器 代碼 ????????一個電影票房的網(wǎng)站里,響應數(shù)據(jù)是一串完全看不懂的字符串

    2024年02月07日
    瀏覽(25)
  • Python網(wǎng)頁爬蟲爬取起點小說——re解析網(wǎng)頁數(shù)據(jù)

    Python網(wǎng)頁爬蟲爬取起點小說——re解析網(wǎng)頁數(shù)據(jù)

    !!注意:我們獲取到的網(wǎng)頁響應數(shù)據(jù),可能會與網(wǎng)頁源代碼中呈現(xiàn)的格式不同。因為有些網(wǎng)頁文件是用JavaScript加載的,瀏覽器會自動將其解析成html文檔格式,而我們獲取到的內(nèi)容是JavaScript格式的文檔。所以獲取到響應數(shù)據(jù)之后先要查看內(nèi)容是否與網(wǎng)頁源碼中的一致,不一

    2024年02月04日
    瀏覽(42)
  • Python 爬蟲:如何用 BeautifulSoup 爬取網(wǎng)頁數(shù)據(jù)

    Python 爬蟲:如何用 BeautifulSoup 爬取網(wǎng)頁數(shù)據(jù)

    在網(wǎng)絡時代,數(shù)據(jù)是最寶貴的資源之一。而爬蟲技術(shù)就是一種獲取數(shù)據(jù)的重要手段。Python 作為一門高效、易學、易用的編程語言,自然成為了爬蟲技術(shù)的首選語言之一。而 BeautifulSoup 則是 Python 中最常用的爬蟲庫之一,它能夠幫助我們快速、簡單地解析 HTML 和 XML 文檔,從而

    2024年02月04日
    瀏覽(92)
  • Python實戰(zhàn):用Selenium爬取網(wǎng)頁數(shù)據(jù)

    網(wǎng)絡爬蟲是Python編程中一個非常有用的技巧,它可以讓您自動獲取網(wǎng)頁上的數(shù)據(jù)。在本文中,我們將介紹如何使用Selenium庫來爬取網(wǎng)頁數(shù)據(jù),特別是那些需要模擬用戶交互的動態(tài)網(wǎng)頁。 Selenium是一個自動化測試工具,它可以模擬用戶在瀏覽器中的操作,比如點擊按鈕、填寫表

    2024年02月06日
    瀏覽(42)
  • Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)

    Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)

    前言: 之前小編寫了一篇關(guān)于爬蟲為什么爬取不到數(shù)據(jù)文章(文章鏈接為:https://liuze.blog.csdn.net/article/details/105965562),但是當時小編也是胡亂編寫的,其實里面有很多問題的,現(xiàn)在小編重新發(fā)布一篇關(guān)于爬蟲爬取不到數(shù)據(jù)文章,希望各位讀者更加了解爬蟲。 1. 最基礎(chǔ)的爬蟲

    2024年02月05日
    瀏覽(30)
  • Python使用Selenium Webdriver爬取網(wǎng)頁所有內(nèi)容

    Python使用Selenium Webdriver爬取網(wǎng)頁所有內(nèi)容

    有時候,我們在用urllib或者requests庫抓取頁面時,得到的html源代碼和瀏覽器中看到的不一樣。這將是我們面臨的一個非常常見的問題?,F(xiàn)在網(wǎng)頁越來越多地采用Ajax、前端模塊化工具來構(gòu)建,整個網(wǎng)頁可能都是由JavaScript渲染出來的,也就是說原始的HTML代碼可能就是一個空殼,

    2023年04月08日
    瀏覽(31)
  • 【爬蟲】5.5 Selenium 爬取Ajax網(wǎng)頁數(shù)據(jù)

    【爬蟲】5.5 Selenium 爬取Ajax網(wǎng)頁數(shù)據(jù)

    目錄 ? AJAX 簡介 任務目標 創(chuàng)建Ajax網(wǎng)站 創(chuàng)建服務器程序 編寫爬蟲程序 ????????AJAX(Asynchronous JavaScript And XML,異步 JavaScript 及 XML) Asynchronous 一種創(chuàng)建 交互式 、 快速動態(tài) 網(wǎng)頁應用的網(wǎng)頁開發(fā)技術(shù) 通過在后臺與服務器進行少量數(shù)據(jù)交換,無需重新加載整個網(wǎng)頁的情況下

    2024年02月10日
    瀏覽(51)
  • Python網(wǎng)絡爬蟲庫:輕松提取網(wǎng)頁數(shù)據(jù)的利器

    Python網(wǎng)絡爬蟲庫:輕松提取網(wǎng)頁數(shù)據(jù)的利器

    ? ? ? 網(wǎng)絡爬蟲是一種自動化程序,它可以通過訪問網(wǎng)頁并提取所需的數(shù)據(jù)。Python是一種流行的編程語言,擁有許多強大的網(wǎng)絡爬蟲庫。在本文中,我們將介紹幾個常用的Python網(wǎng)絡爬蟲庫以及它們的使用。 Requests庫 Requests是一個簡單而優(yōu)雅的HTTP庫,可以輕松地發(fā)送HTTP請求。

    2024年02月09日
    瀏覽(26)
  • Python網(wǎng)頁爬蟲爬取豆瓣Top250電影數(shù)據(jù)——Xpath數(shù)據(jù)解析

    Python網(wǎng)頁爬蟲爬取豆瓣Top250電影數(shù)據(jù)——Xpath數(shù)據(jù)解析

    1.1 查看原頁面信息 首先打開豆瓣Top250電影頁面,其網(wǎng)址是:https://movie.douban.com/top250。 可以發(fā)現(xiàn),該頁面展示的電影信息有中英文電影名、導演、主演、上映年份、國籍、電影類型、評分等。 下滑到頁面底部,發(fā)現(xiàn)第一頁有25部電影的數(shù)據(jù),并且可以點擊頁碼數(shù)實現(xiàn)頁面跳轉(zhuǎn)

    2024年02月05日
    瀏覽(29)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包