爬蟲的使用:爬蟲用來對網路的資料資訊進行爬取,通過url的形式,將資料儲存在資料庫中並以文件形式或者報表形式進行展示。
爬蟲可分為通用式爬蟲或特定式爬蟲,像我們經常用到的搜尋引擎就屬於通用式爬蟲,如果針對某一特定主題或者新聞進行爬取,則屬於特定式爬蟲。
一般用到的第三方庫有urllib、request、beautifuisoup。經常用到的框架為scrapy和pyspider
爬蟲的爬取步驟:
通過python的正規表示式,將巢狀的html**和資料進行分離。
獲取資料後,儲存在文件或者資料庫中。方便後續的展示。
正常的網路傳輸大致分為request(請求)和response(響應)兩類。
正常的http請求一般分為get和post方法#
#使用urllib2編寫最簡單的爬蟲**
from urllib import request as urllib2
#在進行url請求時,應該新增user-agent頭進行識別
header =
request = urllib2.request("",headers=header )
response = urllib2.urlopen(request)
html = response.read()
print (html)
我們爬取的資料可分為結構化和非結構化兩種
結構化資料:xml\json格式檔案
lxml vs beautifulsoup
lxml為區域性遍歷,效率較高。而beautifulsoup為全域性遍歷,基於html dom的,效能較差。
#使用requests編寫爬蟲**
importrequests
r= requests.get("")print(r.status_code) #輸出狀態碼
print(r.text) #輸出返回文字
print(r.json) #輸出json格式檔案
print(r.url) #輸出訪問的url位址
scrapy架構圖
engine:負責其他元件的運轉流程排程。
spider:負責從response中提取item中需要的資料,並將其他的url提交給引擎,再轉交給scheduler。
item pipeline:負責處理spider中的item,並進行後期處理。
spider middlewares:擴充套件引擎和spider通訊的功能元件
scrapy不支援分布式,scrapy-redis提供了以redis為基礎的元件
反爬蟲策略:
動態設定user-agent(瀏覽器識別)
禁用cookies
使用vpn和**ip
反爬蟲科普:
python 爬蟲是什麼 python爬蟲什麼意思
python爬蟲指的是python網路爬蟲,又被稱為網頁蜘蛛,網路機械人,是一種按照一定的規則,自動地抓取全球資訊網資訊的程式或者指令碼,另外一些不常使用的名字還有螞蟻 自動索引 模擬程式或者蠕蟲。簡單來說網際網路是由乙個個站點和網路裝置組成的大網,我們通過瀏覽器訪問站點,站點把html js cs...
「python爬蟲「是什麼呢?
python爬蟲是用python程式語言實現的網路爬蟲,主要用於網路資料的抓取和處理,相比於其他語言,python是一門非常適合開發網路爬蟲的程式語言,大量內建包,可以輕鬆實現網路爬蟲功能。python爬蟲可以做的事情很多,如搜尋引擎 採集資料 廣告過濾等,python爬蟲還可以用於資料分析,在資料...
爬蟲是什麼?
認識爬蟲是學習爬蟲的第一步。曾經我覺得爬蟲是乙個很高大上的玩意兒,高大上到我完全不知道它是做什麼用的。後來因為幫別人做乙個二手車 需要知道所有車的類別 車型 車系,於是就用curl抓去了某網的所有這方面資訊,對,你沒有猜錯,就是它的,算是用php的curl寫了乙個初級不能再初級的 爬蟲 才知道,我了...