午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

[Python爬蟲(chóng)]使用Python爬取動(dòng)態(tài)網(wǎng)頁(yè)-騰訊動(dòng)漫(Selenium)

 宅必備 2022-05-30 發(fā)布于江蘇

好久沒(méi)更新Python相關(guān)的內(nèi)容了,這個(gè)專(zhuān)題主要說(shuō)的是Python在爬蟲(chóng)方面的應(yīng)用,包括爬取和處理部分

上節(jié)我們說(shuō)了如何獲取動(dòng)態(tài)網(wǎng)頁(yè)中的jquery內(nèi)容

[Python爬蟲(chóng)]使用Python爬取靜態(tài)網(wǎng)頁(yè)-斗魚(yú)直播

[Python爬蟲(chóng)]使用Python爬取動(dòng)態(tài)網(wǎng)頁(yè)-豆瓣電影(JSON)

這節(jié)說(shuō)如何利用selenium模擬瀏覽器動(dòng)作


開(kāi)發(fā)環(huán)境

操作系統(tǒng):windows 10

Python版本 :3.6

爬取網(wǎng)頁(yè)模塊:selenium,PhantomJS

分析網(wǎng)頁(yè)模塊:BeautifulSoup4


關(guān)于Selenium

selenium 是一個(gè)Web自動(dòng)測(cè)試的工具,可以用來(lái)操作一些瀏覽器Driver,例如Chrome,F(xiàn)irefox等,也可以使用一些headless的driver,例如PhantomJS

具體請(qǐng)參加官網(wǎng):

http://selenium-python./

關(guān)于PhantomJS

PhantomJS是一個(gè)無(wú)頭(headless)的WebKit javascript API

我們可以用它模擬瀏覽器的操作,也可以用來(lái)截圖

具體參加官網(wǎng):

http:///

模塊安裝

lxml為解析網(wǎng)頁(yè)所必需

pip3 install selenium

pip3 install BeautifulSoup4

pip3 install lxml

Driver 下載

這里我們下載Chrome driver和 Phantomjs

其他的driver見(jiàn)官網(wǎng)

 http://selenium-python./installation.html#drivers

Chrome下載

下載完成后可以放到系統(tǒng)環(huán)境變量中,如:

  C:\Windows\System32

https://sites.google.com/a/chromium.org/chromedriver/downloads

PhatomJS下載

下載后同樣放到系統(tǒng)環(huán)境變量中

下載完成解壓后只需要將exe文件放到目錄下

http:///download.html

網(wǎng)頁(yè)分析

我們以幽游白書(shū)為例

 http://ac.qq.com/ComicView/index/id/543606/cid/1

打開(kāi)后發(fā)現(xiàn)漫畫(huà)并沒(méi)有全部加載需要向下翻頁(yè)才可以加載完畢

之后通過(guò)開(kāi)發(fā)者工具分析圖片的地址

這里我們通過(guò)bs4 來(lái)提取出所有img地址

之后通過(guò)Python將其保存成圖片

程序原理

代碼介紹

1. import相關(guān)的模塊

import selenium.webdriver

from bs4 import BeautifulSoup

2. 調(diào)用Chrome或者PhantomJS

driver = selenium.webdriver.Chrome()

#driver = selenium.webdriver.PhantomJS()

3. 獲取網(wǎng)頁(yè)源代碼

 content=driver.page_source

4. 獲取標(biāo)題和圖片地址之后存入字典

5. 新建目錄并下載圖片

這里首先判斷是否有該漫畫(huà)的目錄,如果沒(méi)有則新建,之后下載圖片,圖片的名稱(chēng)為列表的索引號(hào)

執(zhí)行結(jié)果

注意事項(xiàng):

  1. 建議先用Chrome測(cè)試OK,再改用PhantomJS執(zhí)行

  2. Chrome和PhantomJS在實(shí)際向下翻頁(yè)時(shí)有差異,需測(cè)試后調(diào)節(jié)循環(huán)次數(shù)

  3. 為防止被ban,每次爬取采用了隨機(jī)延遲的方法

  4. 只能爬取免費(fèi)的內(nèi)容

  5. 本腳本僅用于學(xué)習(xí)用途

源碼位置

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多