1. 程式人生 > >Python 爬蟲(一)綜述

Python 爬蟲(一)綜述

開始爬蟲之前先看看這些來打個底吧~

1.首先,什麼是爬蟲呢?

爬蟲(spider),可以理解為在網路上爬行的一隻蜘蛛,爬蟲在網際網路這張網上爬來爬去地找資源,如果它遇到想要的資源,就會把它抓取下來。至於什麼資源是想要的抓取的?這個由你來控制它咯。
概括來說,爬蟲就是一種按照一定的規則,自動的抓取全球資訊網資訊的程式或者指令碼。

2.瀏覽網頁的過程

在我們瀏覽網頁的時候,看到的東西是怎麼來的呢,這個過程其實是這樣的:我們輸入網址之後,經過DNS伺服器,找到伺服器主機,向伺服器發出一個請求,伺服器經過解析之後,返回給使用者 HTML、JS、CSS 等檔案,瀏覽器把這些檔案渲染解析出來,我們就可以看到形形色色的網頁內容了。
因此,我們看到的網頁實質是由 HTML 程式碼構成的,爬蟲爬來的便是這些內容了,通過分析和過濾這些 HTML 程式碼,實現對圖片、文字等資源的獲取。(這樣想來是不是也很簡單,也就是獲取網頁原始碼再進行分析過濾得到想要的內容就好了。)

3.URL的含義

URL,即統一資源定位符,也就是我們說的網址,URL是對可以從網際網路上得到的資源的位置和訪問方法的一種簡潔的表示,是網際網路上標準資源的地址。網際網路上的每個檔案都有一個唯一的URL,它包含的資訊指出檔案的位置以及瀏覽器應該怎麼處理它。

URL的格式由三部分組成:
①第一部分是協議(或稱為服務方式)。
②第二部分是存有該資源的主機IP地址(有時也包括埠號)。
③第三部分是主機資源的具體地址,如目錄和檔名等。

爬蟲爬取資料時必須要有一個目標的URL才可以獲取資料,因此,URL是爬蟲獲取資料的基本依據,準確理解它的含義對爬蟲學習有很大的幫助。

4 環境的配置

恩,我是在Windows下用的 PyCharm。

5.Python urllib和urllib2 庫的用法

urllib和urllib2庫是學習Python爬蟲最基本的庫,利用這個庫我們可以得到網頁的內容,並對內容用正則表示式提取分析,得到我們想要的結果。

6.Python 正則表示式

Python正則表示式是一種用來匹配字串的強有力的武器。它的設計思想是用一種描述性的語言來給字串定義一個規則,凡是符合規則的字串,我們就認為它“匹配”了,否則,該字串就是不合法的。

7.爬蟲框架

如果基本的爬蟲知識都已經掌握了,那就來用一下Python框架吧。我用的是Scrapy框架。這個框架有什麼強大的功能呢?下面是它的官方介紹:

HTML, XML源資料 選擇及提取 的內建支援
提供了一系列在spider之間共享的可複用的過濾器(即 Item Loaders),對智慧處理爬取資料提供了內建支援。
通過 feed匯出 提供了多格式(JSON、CSV、XML),多儲存後端(FTP、S3、本地檔案系統)的內建支援
提供了media pipeline,可以 自動下載 爬取到的資料中的圖片(或者其他資源)。
高擴充套件性。您可以通過使用 signals ,設計好的API(中介軟體, extensions, pipelines)來定製實現您的功能。
內建的中介軟體及擴充套件為下列功能提供了支援:
cookies and session 處理
HTTP 壓縮
HTTP 認證
HTTP 快取
user-agent模擬
robots.txt
爬取深度限制
針對非英語語系中不標準或者錯誤的編碼宣告, 提供了自動檢測以及健壯的編碼支援。
支援根據模板生成爬蟲。在加速爬蟲建立的同時,保持在大型專案中的程式碼更為一致。詳細內容請參閱 genspider 命令。
針對多爬蟲下效能評估、失敗檢測,提供了可擴充套件的 狀態收集工具 。
提供 互動式shell終端 , 為您測試XPath表示式,編寫和除錯爬蟲提供了極大的方便
提供 System service, 簡化在生產環境的部署及執行
內建 Web service, 使您可以監視及控制您的機器
內建 Telnet終端 ,通過在Scrapy程序中鉤入Python終端,使您可以檢視並且除錯爬蟲
Logging 為您在爬取過程中捕捉錯誤提供了方便
支援 Sitemaps 爬取
具有快取的DNS解析器

———扯了這麼多,下節再進入正題好了~

相關推薦

Python 爬蟲綜述

開始爬蟲之前先看看這些來打個底吧~ 1.首先,什麼是爬蟲呢? 爬蟲(spider),可以理解為在網路上爬行的一隻蜘蛛,爬蟲在網際網路這張網上爬來爬去地找資源,如果它遇到想要的資源,就會把它抓取下來。至於什麼資源是想要的抓取的?這個由你來控制它咯。 概括來說

Python爬蟲:基本概念

popu 通用 字符 spider dai 自身 部分 螞蟻 people 網絡爬蟲的定義 網絡爬蟲(Web Spider。又被稱為網頁蜘蛛。網絡機器人,又稱為網頁追逐者),是一種依照一定的規則,自己主動的抓取萬維網信息的程序或者腳本。另外一些不常使用

python爬蟲

返回 沒有 發現 學習內容 部分 訪問 family 司機 獲得 1.首先你需要一些Python的基礎知識和相關的開發環境,沒有相關基礎的同學推薦可以先去網易雲的Mooc觀看學習相關教程 2.什麽是網絡爬蟲?   我們上網會在瀏覽器中輸入連接,然後服務器會返回給我們相關的信

python 爬蟲 requests+BeautifulSoup 爬取簡單網頁代碼示例

utf-8 bs4 rom 文章 都是 Coding man header 文本 以前搞偷偷摸摸的事,不對,是搞爬蟲都是用urllib,不過真的是很麻煩,下面就使用requests + BeautifulSoup 爬爬簡單的網頁。 詳細介紹都在代碼中註釋了,大家可以參閱。

自學Python爬蟲認識爬蟲

1、爬蟲的概念 這裡就不解析了,可自行百度 拋連結: https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB/5162711?fr=aladdin 2、爬蟲的基本流程 2.1發起請求 通過HTTP

Python爬蟲:編寫簡單爬蟲之新手入門

最近學習了一下python的基礎知識,大家一般對“爬蟲”這個詞,一聽就比較熟悉,都知道是爬一些網站上的資料,然後做一些操作整理,得到人們想要的資料,但是怎麼寫一個爬蟲程式程式碼呢?相信很多人是不會的,今天寫一個針對新手入門想要學習爬蟲的文章,希望對想要學習的你能有所幫助~~廢話不多說,進入正文!

python爬蟲---智聯招聘實戰

智聯校園招聘資料爬取 1 本次實驗只爬取一頁內容,適合入門學習xpath,excel檔案寫入。 2 url =‘https://xiaoyuan.zhaopin.com/full/538/0_0_160000_1_0_0_0_1_0’ 3 結尾會附上全部程式碼 大神請繞過本部落格

python爬蟲--------selenium+python+PhantomJS的使用

  最近爬取相關網站時,發現沒有找到js包的地址,我就採用selenium來爬取資訊,相關實戰連結:python爬蟲實戰(一)--------中國作物種質資訊網 一、Selenium介紹   Selenium 是什麼?一句話,自動化測試工具。它支援各種瀏覽器,包括 Chr

python 爬蟲urllib使用demo

import urllib.request #向指定的url地址發起請求,並返回伺服器響應的資料(檔案的物件) response = urllib.request.urlopen("http://www.baidu.com") #直接將檔案寫入指定路徑, filePath = r"C:/Use

python爬蟲爬取豆瓣電影Top250

提示:完整程式碼附在文末 一、需要的庫           requests:獲得網頁請求           BeautifulSoup:處理資料,獲得所需要的資料 二、爬取豆瓣電影Top250           爬取內容為:豆瓣評分前二百五位電影的名字、主演、

python爬蟲urllib庫基本使用

注,以下內容均為python3.5.*程式碼 學習爬蟲,首先有學會使用urllib庫,這個庫可以方便的使我們解析網頁的內容,本篇講一下它的主要用法 解析網頁 #!/usr/bin/env python3 # coding=utf-8 import u

零基礎入門Python爬蟲

閱讀本篇大概需要 4 分鐘。前言很多人都或多或少聽說過 Python 爬蟲,我也一直很感興趣,所

python爬蟲Urllib使用

爬蟲介紹 網路爬蟲就是一個爬行程式,一個抓取網頁的程式。網路爬蟲的基本操作是抓取網頁,但爬蟲概念包括抓取和資料解析兩個部分。 爬蟲是通過網頁的連結地址來尋找網頁的。從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它連結地址,然後通過這些連

Python爬蟲--城市公交網路站點資料的爬取

作者:WenWu_Both 出處:http://blog.csdn.net/wenwu_both/article/ 版權:本文版權歸作者和CSDN部落格共有 轉載:歡迎轉載,但未經作者同意,必須保留此段聲 必須在文章中給出原文連結;否則必究法律責任

python爬蟲BeautifulSoup簡介

BeautifulSoup庫的名字取自劉易斯·卡羅爾在《愛麗絲漫遊仙境》裡的同名詩歌。BeautifulSoup通過定位HTML標籤來格式化和組織複雜的網路資訊,用簡單易用的python物件展現XML結構資訊。 一、安裝Beautifulsoup 1、win

Python爬蟲爬蟲偽裝

1 簡介 對於一些有一定規模或盈利性質比較強的網站,幾乎都會做一些防爬措施,防爬措施一般來說有兩種:一種是做身份驗證,直接把蟲子擋在了門口,另一種是在網站設定各種反爬機制,讓蟲子知難而返。 2 偽裝策略 我們知道即使是一些規模很小的網站通常也會對來訪者的身份做一下檢查,如驗證請求 Headers,而對於

python爬蟲4——正則表達式

做了 cati 二手房 表達 發展 他能 query nta package     在前幾篇文章中我們使用了python的urllib模塊,做了一些訪問網頁的工作。現在介紹一個非常強大的工具——正則表達式。在講述正則的時候,我參考了《精通正則表達式(第三版) --

Python從零開始寫爬蟲requests庫使用

requests是一個強大的網路請求庫,簡單易用-讓 HTTP 服務人類。可以參考這個網站的介紹:http://cn.python-requests.org/zh_CN/latest/index.html 直接使用pip install requests安裝此模組之後,開始吧。

python網路爬蟲

網路爬蟲之前奏 網路爬蟲之規則 Requests庫入門 requests庫的安裝 requests的詳細資訊 Win平臺: “以管理員身份執行” cmd,執行pip3 install requests。 requests庫安裝成功與否的測試

[Python]網路爬蟲:抓取網頁的含義和URL基本構成

一、網路爬蟲的定義 網路爬蟲,即Web Spider,是一個很形象的名字。 把網際網路比喻成一個蜘蛛網,那麼Spider就是在網上爬來爬去的蜘蛛。 網路蜘蛛是通過網頁的連結地址來尋找網頁的。 從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它連結地址