原创 爬蟲urllib庫及requests模塊

什麼是爬蟲 網絡爬蟲(又被稱爲網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱爲網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。例如:給個網址

原创 CrawlSpider模板

CrawlSpider的功能 只要滿足某個條件的url,都給我進行爬取。那麼這時候我們就可以通過CrawlSpider來幫我們完成了。CrawlSpider繼承自Spider,只不過是在之前的基礎之上增加了新的功能,可以定義爬取的

原创 Scrapy-Redis分佈式爬蟲組件

Scrapy-Redis介紹 Scrapy是一個框架,他本身是不支持分佈式的。如果我們想要做分佈式的爬蟲,就需要藉助一個組件叫做Scrapy-Redis,這個組件正是利用了Redis可以分佈式的功能,集成到Scrapy框架中,使得

原创 scrapy的下載器中間件及配置文件

Downloader Middlewares(下載器中間件) 下載器中間件是引擎和下載器之間通信的中間件。在這個中間件中我們可以設置代理、更換請求頭等來達到反反爬蟲的目的。要寫下載器中間件,可以在下載器中實現兩個方法。一個是pro

原创 Scrapy Shell 和 Request、Response對象

Scrapy Shell Scrapy提供了一個shell,用來方便的測試規則。當然也不僅僅侷限於這一個功能。 打開Scrapy Shell 開cmd終端,進入到Scrapy項目所在的目錄,然後進入到scrapy框架所在的虛擬環境

原创 selenium+chromdriver獲取AJAX數據

注:本文參考了網易雲知了課堂課件筆記。 AJAX定義 AJAX(Asynchronouse JavaScript And XML)異步JavaScript和XML。在後臺與服務器進行少量數據交換,Ajax 可以使網頁實現異步更新。

原创 Scrapy基礎

Scrapy框架架構 什麼是Scrapy框架 scrapy 是一個爲了爬取網站數據,提取結構性數據而編寫的應用框架,我們只需要實現少量代碼,就能夠快速的抓取到數據內容。Scrapy 使用了 Twisted(其主要對手是Tornad

原创 json、csv文本處理

json概念及支持的數據格式 JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規範)的一個子集,採用完全獨立於編程

原创 xpath語法與lxml庫

什麼是XPath xpath(XML Path Language)是一門在XML和HTML文檔中查找信息的語言,可用來在XML和HTML文檔中對元素和屬性進行遍歷。 XPath開發工具 1.Chrome插件XPath Helper。

原创 TCP 協議

傳輸層協議作用 1.分段及封裝應用層送來的數據 2.提供端到端的傳輸服務 3.在發送主機與接收主機之間構建邏輯通信 4.包括兩個協議: 1)TCP 2)UDP 怎樣提供的邏輯通信: 兩臺主機進程間通信條件 本地主機(IP地址定義)

原创 UDP協議

什麼是UDP UDP 是User Datagram Protocol的簡稱, 中文名是用戶數據報協議,是OSI(Open System Interconnection,開放式系統互聯) 參考模型中一種無連接的傳輸層協議,提供面向事務的

原创 ICMP互聯網控制協議

IP的缺點 1.無差錯報告和差錯糾正機制 2.缺少一種爲主機和管理查詢的機制 ICMP的概念 ICMP是(Internet Control Message Protocol)Internet控制報文協議。它是TCP/IP協議簇的一個

原创 IP、ARP

網絡層協議 1.IP協議 2.ARP協議 3.RARP協議 4.ICMP協議 IP協議 IP協議是將多個包交換網絡連接起來,它在源地址和目的地址之間傳送一種稱之爲數據包的東西,它還提供對數據大小的重新組裝功能,以適應不同網絡對包大小的

原创 TCP/IP協議簇簡要概述及網絡接口層

TCP/IP體系結構可分爲四個層次 第4層:應用層 服務於Telnet、ftp、Smtp等,負責處理特定的應用程序細節。 第3層:傳輸層 包括TCP和UDP,TCP是一個可靠的面向連接的協議,保障某一主機的字節流準確無誤地投遞到 互

原创 網絡通信協議的概念及OSI參考模型

一 網絡協議的概念 網絡協議:計算機網絡和分佈系統中互相通信的對等實體之間交換信息時必須遵守的規則的集合 網絡體系結構: 指通信系統的整體設計方法,是計算機之間相互通信的層次、以及各層中協議和層次之間接口的集合,它爲網絡硬件、軟件、協