Python爬蟲 1 基礎

2021-08-29 01:16:47 字數 2156 閱讀 4263

爬蟲(spider):是用指令碼代替瀏覽器請求伺服器獲取伺服器資源的程式。(python爬蟲優勢,支援模組很多,有scrapy非常強大的爬蟲框架)

1.通用爬蟲

2)功能:訪問網頁 --> 抓取資料 --> 資料儲存 --> 資料處理 --> 提供檢索服務

3)爬取流程:

① 給定一些起始的url,放入待爬取佇列

② 從佇列中獲取url物件,開始爬取資料

③ 分析網頁,獲取網頁內所有url,入隊,繼續重複執行第二步

2.聚焦爬蟲

1)功能:根據需求,實現爬蟲程式,抓取需要的資料

2)設計思路:

① 確定要爬取的url

② 模擬瀏覽器通過http協議訪問url,獲取伺服器返回的html**

③ 解析html字串(根據一定的規則提取需要的資料)

from urllib import request

① urllib.request.urlopen(url):開啟url,返回乙個response物件

② response常用方法:read()、readline()、readlines()、getcode()、geturl()、getheaders()

# coding:utf-8

from urllib import request

res = request.urlopen("")

print(res.read()) # 返回乙個二進位制資料

print(res.geturl()) # 請求的url

print(res.getheaders()) # 返回響應頭

print(res.getcode()) # 返回狀態碼

開啟

④ urllib.parse(python自帶,需要傳入乙個字典,parse.urlencode(字典資料))

# coding:utf-8

from urllib import request,parse

base_url = ""

source =

headers =

# 解析url,請求中有中文的時候需要編碼一下再請求

url1 = parse.urlencode(source) # source為字典

print(url1) # url1為:kw=%e7%8e%8b%e4%bf%8a%e5%87%af

for i in range(1,6):

pn = (i-1)*50

# 拼接每一頁url

url = base_url%pn + url1

# print(url)

# 對每一頁構造請求並傳送請求

req = request.request(url=url,headers=headers)

response = request.urlopen(req)

print(response.getcode())

正規表示式

xpath

bs4jsonpath

user-agent

**ip(西刺**)

驗證碼訪問(打碼平台)

動態載入網頁

資料加密(分析js**)

爬蟲-反爬蟲-反反爬蟲

1)分析業務需求、分析出你需要的資料、資料量、週期

2)建模,根據需求,建立資料庫,用資料庫表、表字段、表關聯來描述業務之間的聯絡

3)分析爬取的路徑、html結構、資料傳輸

Python爬蟲基礎 1

url uniform resource locator 統一資源定位符。採用url可以用一種統一的格式來描述各種資訊資源,包括檔案 伺服器的位址和目錄等。url的一般格式為 帶方括號的為可選項 protocol hostname port path parameters query fragmen...

Python爬蟲基礎1

python版本 3.6 編譯器 pycharm 系統 win 10 1 file new project create 2 右擊建立的專案 new python file 3 開始輸入 import urllib.request response urllib.request urlopen pr...

python爬蟲基礎(1)

例 開啟bing搜尋頁面檔案 c users desktop mkdir xy web scraping 在桌面建立乙個新資料夾 ps c users desktop cd xy web scraping 進入該資料夾 ps c users desktop xy web scraping pytho...