當前位置:首頁 » 編程語言 » python爬蟲下載文件

python爬蟲下載文件

發布時間: 2022-10-20 13:16:42

python編程基礎之(五)Scrapy爬蟲框架

經過前面四章的學習,我們已經可以使用Requests庫、Beautiful Soup庫和Re庫,編寫基本的Python爬蟲程序了。那麼這一章就來學習一個專業的網路爬蟲框架--Scrapy。沒錯,是框架,而不是像前面介紹的函數功能庫。

Scrapy是一個快速、功能強大的網路爬蟲框架。

可能大家還不太了解什麼是框架,爬蟲框架其實是實現爬蟲功能的一個軟體結構和功能組件的集合。

簡而言之, Scrapy就是一個爬蟲程序的半成品,可以幫助用戶實現專業的網路爬蟲。

使用Scrapy框架,不需要你編寫大量的代碼,Scrapy已經把大部分工作都做好了,允許你調用幾句代碼便自動生成爬蟲程序,可以節省大量的時間。

當然,框架所生成的代碼基本是一致的,如果遇到一些特定的爬蟲任務時,就不如自己使用Requests庫搭建來的方便了。

PyCharm安裝

測試安裝:

出現框架版本說明安裝成功。

掌握Scrapy爬蟲框架的結構是使用好Scrapy的重中之重!

先上圖:

整個結構可以簡單地概括為: 「5+2」結構和3條數據流

5個主要模塊(及功能):

(1)控制所有模塊之間的數據流。

(2)可以根據條件觸發事件。

(1)根據請求下載網頁。

(1)對所有爬取請求進行調度管理。

(1)解析DOWNLOADER返回的響應--response。

(2)產生爬取項--scraped item。

(3)產生額外的爬取請求--request。

(1)以流水線方式處理SPIDER產生的爬取項。

(2)由一組操作順序組成,類似流水線,每個操作是一個ITEM PIPELINES類型。

(3)清理、檢查和查重爬取項中的HTML數據並將數據存儲資料庫中。

2個中間鍵:

(1)對Engine、Scheler、Downloader之間進行用戶可配置的控制。

(2)修改、丟棄、新增請求或響應。

(1)對請求和爬取項進行再處理。

(2)修改、丟棄、新增請求或爬取項。

3條數據流:

(1):圖中數字 1-2

1:Engine從Spider處獲得爬取請求--request。

2:Engine將爬取請求轉發給Scheler,用於調度。

(2):圖中數字 3-4-5-6

3:Engine從Scheler處獲得下一個要爬取的請求。

4:Engine將爬取請求通過中間件發送給Downloader。

5:爬取網頁後,Downloader形成響應--response,通過中間件發送給Engine。

6:Engine將收到的響應通過中間件發送給Spider處理。

(3):圖中數字 7-8-9

7:Spider處理響應後產生爬取項--scraped item。

8:Engine將爬取項發送給Item Pipelines。

9:Engine將爬取請求發送給Scheler。

任務處理流程:從Spider的初始爬取請求開始爬取,Engine控制各模塊數據流,不間斷從Scheler處獲得爬取請求,直至請求為空,最後到Item Pipelines存儲數據結束。

作為用戶,只需配置好Scrapy框架的Spider和Item Pipelines,也就是數據流的入口與出口,便可完成一個爬蟲程序的搭建。Scrapy提供了簡單的爬蟲命令語句,幫助用戶一鍵配置剩餘文件,那我們便來看看有哪些好用的命令吧。

Scrapy採用命令行創建和運行爬蟲

PyCharm打開Terminal,啟動Scrapy:

Scrapy基本命令行格式:

具體常用命令如下:

下面用一個例子來學習一下命令的使用:

1.建立一個Scrapy爬蟲工程,在已啟動的Scrapy中繼續輸入:

執行該命令,系統會在PyCharm的工程文件中自動創建一個工程,命名為pythonDemo。

2.產生一個Scrapy爬蟲,以教育部網站為例http://www.moe.gov.cn:

命令生成了一個名為demo的spider,並在Spiders目錄下生成文件demo.py。

命令僅用於生成demo.py文件,該文件也可以手動生成。

觀察一下demo.py文件:

3.配置產生的spider爬蟲,也就是demo.py文件:

4.運行爬蟲,爬取網頁:

如果爬取成功,會發現在pythonDemo下多了一個t20210816_551472.html的文件,我們所爬取的網頁內容都已經寫入該文件了。

以上就是Scrapy框架的簡單使用了。

Request對象表示一個HTTP請求,由Spider生成,由Downloader執行。

Response對象表示一個HTTP響應,由Downloader生成,有Spider處理。

Item對象表示一個從HTML頁面中提取的信息內容,由Spider生成,由Item Pipelines處理。Item類似於字典類型,可以按照字典類型來操作。

Ⅱ python 下載文件到文件夾下的問題

open文件的時候就可以設置文件的路徑,比如,這里改成
open(r'd:\download\google.gif', 'wb').write(rs)
就保存到那個文件夾下了。

Ⅲ Python爬蟲是什麼

爬蟲一般是指網路資源的抓取,由於Python的腳本特性,易於配置對字元的處理非常靈活,Python有豐富的網路抓取模塊,因此兩者經常聯系在一起Python就被叫作爬蟲。

Python爬蟲的構架組成:

Ⅳ 學校機房的python怎麼下

和正常下載一樣。
1、Python爬蟲,首先需要本地電腦上安裝有Python,這里我簡單說一下Python的安裝,我相信學爬蟲的同學們肯定有一定的Python基礎了。
2、首先,進入到Python官網,你可以直接輸入Python主頁,也可以從網路搜索框進入到Python的主頁,這里方法很多,我不再一一列舉了,在主頁上可以看見Downloads字樣,點擊下載,然後跳轉出下載界面。
3、跳轉出Python下載界面,選擇一個版本進行下載,這里的我3.X和2.7.X版本的差別還是蠻大的,這里我就不多說了。Python2.7的支持包要更加全面完善,Python3的包擴展可能比較少,但是正在慢慢開發;Python2.7預計在202X停止更新了Python學習q-u-n七八四,七五八,二一四教程視頻,工具,各類實戰操作分享。
4、下載好後,點擊安裝包,依據提示點擊下一步即可,這里相信大家沒有任何的問題。
5、安裝好後,按windos鍵加R鍵,彈出運行窗口,在運行窗口輸入cms進入到命令行界面,然後輸入Python,如果安裝成功,即可進入到Python交互界面,如果沒有則表示Python沒有安裝成功。

Ⅳ 使用Python爬蟲下載圖片,得到的圖片不顯示

你需要檢查一下你的結果,看看是否請求成功了。可能伺服器返回的並不是一個圖片,但是你強制給他寫入到圖片格式文件中了,所以沒辦法顯示。
你可以通過輸出response或者使用抓包軟體來檢查。

Ⅵ python爬蟲如何創建image文件夾

有自動創建功能,也可以使用代碼。1.觀察網頁,找到img標簽;2.通過requests和BS庫來提取網頁中的img標簽;3.抓取

_mg標簽後,再把裡面的src給提取出來,接下來就可以下載圖片了;

?

?4.通過urllib的urllib.urlretrieve來下載圖片並且放進文件夾裡面(第一之前的准備工作就是獲取當前路徑然後新建一個文件夾);

?5.如果有多張圖片,不斷的重復3-4。

Ⅶ python爬蟲 將在線html網頁中的圖片鏈接替換成本地鏈接並將html文件下載到本地

正則匹配原鏈接替換為本地路徑即可

Ⅷ 請問怎麼通過python爬蟲獲取網頁中的pdf文件

首先把鏈接URL爬取出來,然後get流下載pdf文件,再用pdf模塊來讀取它。

Ⅸ 新手用python3寫網路爬蟲可是下載總不成功

這是編碼格式錯誤,你在代碼前面添加 #-*-coding:utf-8-*-

熱點內容
python的類方法 發布:2024-12-26 12:31:12 瀏覽:359
編譯器c語言輸入不了中文 發布:2024-12-26 12:21:05 瀏覽:42
配電腦用什麼配置 發布:2024-12-26 12:21:05 瀏覽:285
不知密碼如何刪除簡訊 發布:2024-12-26 12:05:46 瀏覽:892
普通民眾怎麼存儲汽油 發布:2024-12-26 12:05:36 瀏覽:628
安卓手機已安裝的軟體如何備份 發布:2024-12-26 12:04:59 瀏覽:421
好玩兒的我的世界伺服器電腦 發布:2024-12-26 12:04:58 瀏覽:112
C表格源碼 發布:2024-12-26 11:56:18 瀏覽:680
emobile伺服器地址查詢 發布:2024-12-26 11:56:17 瀏覽:240
aspnet資料庫路徑 發布:2024-12-26 11:47:35 瀏覽:973