門|助手
資料來源:python技術“id : python all”
今天,我們使用Jupyter-Notebook和框架(Selenium)模擬瀏覽器抓取微博照片,并將照片存儲在本地。
Selenium 是一個用電腦模擬人的操作瀏覽器網(wǎng)頁,可以實現(xiàn)自動化測試,模擬瀏覽器抓取數(shù)據(jù)等工作。
環(huán)境部署
安裝 Jupyter notebook
關于 Jupyter notebook 的詳細知識點在以往的文章中有做過詳細的介紹,詳情請參考文章一文吃透 Jupyter notebook
這里只需要在命令行中輸入:jupyter notebook 啟動跳轉到瀏覽器編輯界面即可。
瀏覽器頁面:
安裝 Selenium
安裝 Selenium 非常簡單,只需要用命令 'pip install Selenium' 即可,安裝成功提示信息如下:
下載瀏覽器驅動
下載驅動地址如下:
Firefox瀏覽器驅動
chrome瀏覽器驅動:chromedriver
IE瀏覽器驅動:IEDriverServer
Edge瀏覽器驅動:MicrosoftWebDriver
需要把瀏覽器驅動放入系統(tǒng)路徑中,或者直接告知 selenuim 的驅動路徑。
環(huán)境都搭建好后就可以直接開始爬取數(shù)據(jù)了。
抓取微博數(shù)據(jù)
首先導入包,模擬瀏覽器訪問微博主頁,詳細代碼如下:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://weibo.com/')
此時瀏覽器會打開一個新頁面,如下圖所示:
接下來開始分析頁面數(shù)據(jù):微博頁面搜索奧運會關鍵字后出現(xiàn)新的頁面,然后復制網(wǎng)址,抓取和奧運會相關的圖片保存于本地,搜索界面如下:
輸入網(wǎng)址獲取網(wǎng)頁內容:
driver.get(';wvr=6&b=1')
contents = driver.find_elements_by_xpath(r'//p[@class="txt"]')
print(len(contents))
輸出內容如下:
查看網(wǎng)頁詳細信息:
for i in range(0,3):
print("==============================")
print(contents[i].get_attribute('innerHTML'))
獲取圖片信息:
contents = driver.find_elements_by_xpath(r'//img[@action-type="fl_pics"]')
print(len(contents))
for i in range(0,20):
print("==============================")
print(contents[i].get_attribute('src'))
下載圖片在本地:
import os
import urllib.request
for i in range(0,20):
print("==============================")
image_url=contents[i].get_attribute('src')
file_name="downloads//p"+str(i)+".jpg"
print(image_url,file_name)
urllib.reque(image_url, filename=file_name)
至此微博頁面關于奧運會的相關圖片已保存于本地,圖片保存詳情如下:
匯總代碼如下
from selenium import webdriver
import urllib.request
driver = webdriver.Chrome()
driver.get('https://weibo.com/')
driver.get(';wvr=6&b=1')
contents = driver.find_elements_by_xpath(r'//p[@class="txt"]')
for i in range(0,3):
print("==============================")
print(contents[i].get_attribute('innerHTML'))
contents = driver.find_elements_by_xpath(r'//img[@action-type="fl_pics"]')
print(len(contents))
for i in range(0,20):
print("==============================")
print(contents[i].get_attribute('src'))
for i in range(0,20):
print("==============================")
image_url=contents[i].get_attribute('src')
file_name="downloads//p"+str(i)+".jpg"
print(image_url,file_name)
urllib.reque(image_url, filename=file_name)
以上匯總代碼給沒有安裝 Jupyter Notebook 的朋友們使用,希望對大家有幫助。
總結
今天的文章主要講解用 Jupyter Notebook 工具和 Selenium 框架抓取微博數(shù)據(jù),希望對大家有所幫助。
1.《微博視頻怎么保存到本地視頻?我來告訴你答案用 Jupyter Notebook 爬取微博圖片保存本地》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《微博視頻怎么保存到本地視頻?我來告訴你答案用 Jupyter Notebook 爬取微博圖片保存本地》僅供讀者參考,本網(wǎng)站未對該內容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉載時請保留本站內容來源地址,http://f99ss.com/gl/2969176.html