|
|
目标人群:
$ o2 J' l V3 Z8 u掌握Python编程语言基础,有志从事网络爬虫开发及数据采集程序开发的人群。
0 s! x% n! u0 m0 q) S P0 p* f+ w; h' F
学习目标:
. [; @/ A% {5 A/ K3 S6 k; I了解Web前端,熟悉HTTP,系统学习Python urllib库HTTP编程模块,requests网络编程库,BeautifulSoup4 HTML转换解析,并发数据采集、提取、存储,熟悉Selenium 2框架工具应用,并掌握常见反爬虫手段应对,以及爬取陷阱应用等知识!达到独立开发Python网络爬虫程序以完成数据数据采集!
: }* p' F7 J, E5 j
9 {, r, F$ c% V* d3 l课程大纲:" ^, l/ f! e2 y1 C( Y. _( i- |2 J7 P
01 准备工具. b2 H! j) w0 u$ {
02 网站与网页! X# m' G+ n0 A
03 HTTP超文本传输协议基础+ P6 t' h4 J" C: G0 s4 L+ s
04 HTTP资源3 g0 W' E1 h/ Q& U. e
05 HTTP 消息
2 v" |$ K, t( z$ M: ^) ] M06 Python 标准库 urllib应用 I
! D2 t% V% q6 O+ B2 K1 J0 g07 Python 标准库 urllib应用 II- E* Q+ B1 P% R- M
08 Web Cookies/ ?! S% W, q1 {
09 requests HTTP编程0 V( C5 q+ ^! X9 z( ^
10 数据爬取与采集
+ l6 i. c" P( L8 Z% i, [/ S$ q# c11 BeautifulSoup4 HTML解析与提取
# m, p h3 e, w+ H" j; B4 p# r12 爬虫性能与并发处理
: ^# R) y. N9 l! p0 C u! F13 数据存储之:文本CSVExcel
4 D0 a+ o. ]* ~14 数据存储之:SQL关系型数据库
' _$ R, O. f% d: [0 v# ]15 数据存储之:MongoDB F. w8 S; m* \0 q5 N
16 表单与登录0 ?6 g" L" J& @1 b& G; H- ~
17 爬虫验证码处理机制
6 ]4 K" O7 I) O) c, t18 Selenium 2框架应用 I
: T0 r' Y. p2 U19 爬虫陷阱之动态内容处理_wosn.net; t" c5 `! r& S5 m4 C" J1 ]% w6 L
20 爬虫测试* v0 V2 n3 ]9 J: e- N
5 B. f) t+ i: q; _+ q# E1 i
课程目录:6 }1 ]+ G; z2 b6 c9 `" i
01 准备工具) X, u% ?. o* E. E8 }; G
知识结构/路线图/环境工具准备
- ^* f4 U" t5 E# `. I9 b/ z+ f2 @" ~; j4 Y) P2 g5 b! c
02 网站与网页
9 o* `$ g$ X! N, N5 ^+ ]1 网站网页前端技术概述$ s7 x1 _$ q6 }# U* B4 J
2 站点结构处理
3 t/ D! {( I2 v# K8 Z' [* Q# m. R% ?3 HTML定义网络结构- l- I' j1 d6 P* g$ T/ z
4 CSS 定义网页表现- q& d5 c$ d' K3 w: {
5 JavaScript定义网页行为4 c* N L' e( h5 d4 ^( Q5 u2 r7 H, z
# Y3 A& ]5 g% O4 I2 W% s0 A* Y6 k03 HTTP超文本传输协议基础- l Y& m: }7 T( e3 S2 k
HTTP基础
f9 f. ~0 S' \& W2 e0 |
2 j$ C" n# U5 q) z- B5 g7 A+ |2 u04 HTTP 资源* O' O' i2 ~2 A8 V
1 URL解析
" E9 n# x9 q( Z* a) Y6 D, s2 URL编码与解码& n. [$ y3 @9 v/ J
3 资源类型及类型协商* Q" i, i# g. \- H
; R! _; W; A; e' w/ f05 HTTP 消息& V. N3 z# r r
1 请求与响应, @+ I9 Z& C% W! J4 d. s# e. q2 X2 Z
2 HTTP请求方法& w- ^" d3 C" {/ {5 I+ G* u
3 headers 头部信息
# g" Z9 n/ M# @! F4 S$ n7 L& Y4 响应及状态) c6 M( p5 H4 e) L* W
- l5 t, ]) Q& r2 q+ q
; } y( u, O" x* J* q5 ?! T9 k06 Python 标准库 urllib应用 I1 M. \7 ^" Y) f& y; @
1 Python 标准库 urllib应用 I
, H i) F& [% r) b2 urllib 处理web请求与响应! `. n+ R" a( z+ S( ]
3 response 状态码与错误处理8 L h/ X7 d0 f- y7 O" w
4 urllib error错误与异常处理
6 a$ q" k' r3 F% p0 Y' T) ~# J. I1 d8 P5 x G
4 L! r7 I" P* f+ H# e/ x07 Python 标准库 urllib应用 II
1 j, ~ |) ~ I( {9 w2 J1 自定义header请求内容协商User-Agen
! R; p7 C9 a! b7 }9 D& r2 HTTP 请求方法
3 \5 @5 t( w: b2 k/ i" P5 k2 j3 URLQueryString与地址栏编码1 _/ X- [; j/ @& }/ ~/ l
% A; ?$ B4 j1 p, S% g" S0 ?5 ]: t08 Web Cookies
) [" M3 r% P7 m |1 Cookies 机制与原理$ V( c X7 q/ G+ |" h/ s8 E/ W
2 Python 处理cookies" p" ^. \: u: q, q
: z' z) q2 y/ Z/ B2 {8 s7 e- r09 requests HTTP编程
( N$ t5 m. \# i5 S7 |% y y% Z1 【回放】requests 库应用
! b" a( B8 D& l# I2 p- Y8 u5 `' B+ W2 【录播】requests 概述
! P5 P) G0 o3 V' J1 g) E3 【录播】请求构造与参数传递
# J3 A! C% X+ D* n+ N1 `, O' A4 【录播】response 响应解析 文本二进制JSON
7 j9 `9 e: c8 j5 【录播】requests cookies 处理
5 p$ G6 }, G: F* H% d7 t7 O ?% c# I2 V% T7 x$ W4 `
) k0 n; q) ]) Z
10 数据爬取与采集1 ~ q0 a# O1 g a, U" u4 C9 `
数据爬取与采集4 N; m0 M d6 S: `) j0 k7 {5 G/ C
图片资源下载( e$ V3 Y) t+ t0 F E
文本数据采集
2 r3 \8 p5 X$ ~0 b3 w u( M" j9 L* U' s* W! B; J v
JSON概述! v ?5 P! e% N: X
Python JSON操作& J. O4 ]5 J& B* \
API 爬取与解析
' U* {% r- O3 v- c* [" s+ Z* n
8 z0 B1 {8 q5 ]% o# a' ^: V11 BeautifulSoup4 HTML解析与提取. d0 b }2 Y5 X) t* U4 r# [
BeautifulSoup4 HTML解析
: \) L) l. q/ ]: ^* kbs4概述及安装配置4 Z9 o( y4 p+ m+ O8 ?, p
BeautifulSoup4核心对象
: I, x/ ~# I6 ^& }+ b8 R5 BDOM 导航; Q% _+ {3 S2 ?, j% r
Web 元素查找与过滤
" K2 h, O7 e( G {) {" d4 W3 r2 K* D' I7 m, B8 u
12 爬虫性能与并发处理
0 p* o) B+ Q: x! e) D4 q; z4 E多线程爬虫并发处理- w7 O/ S+ z, B9 h
Python 并行编程概述
! x; \& s3 d' R3 z$ l# Z; K9 H& jPython 多线程编程/ X- c: M6 }3 P# e1 e
高IO并发爬虫实现9 D4 v/ E- O# T2 S: Q2 X
; Y( Q# X$ r5 F2 b3 v6 s) F6 Y! j$ t @4 ?9 F
13 数据存储之:文本/CSV/Excel
3 @, v' p1 v, h" S/ N数据存储之:文本/CSV/Excel
( M6 o6 T. Q* u/ H9 Q: v0 }3 H% F采集数据文本存储2 |$ R5 o" a3 a& W* j
采集数据CSV存储% L) [: l8 G1 l, S! \/ V/ f+ Y
采集数据Excel存储2 o* S8 r4 j# I& {, G
9 d6 ~+ ~) S# P& d
14 数据存储之:SQL关系型数据库
1 s% Q2 K/ \! e9 R7 i3 M; r采集数据Python SQLite存储3 A1 ~/ I9 {. J+ V5 z, t
SQLite 库表管理
1 v c1 B: \' p% X, wSQL CRUD操作, U% _: C: d5 n1 z m1 o X
Python sqlite3模块应用! Y' d8 z4 z( Q+ {
采集数据 SQL存储% j2 w3 w) [6 u& j9 J9 W' D) a `
$ N) G1 @0 A; ~- `$ j8 b( _% [6 ?. b/ m) l& M0 F7 T+ A: k0 s Z" S' l
15 数据存储之:MongoDB
5 i M0 L! d: x' `PyMongo 存储数据到MongoDB
8 S* O7 |2 ]) yMongoDB 概述
% S- _4 V5 ~" H! b, ?, MMongoDB 集合/文档/字段管理
' b9 r% q0 {6 }% c7 PPyMongo 数据管理
0 i H1 Y+ l& g5 E$ w) @* Y采集数据 MongoDB存储
2 |. g( \. S0 V* z: g# z; B% G8 g# l2 l. }6 n2 X3 R8 |9 b$ t, P1 m/ W( }- d
16 表单与登录
' r3 U8 A7 ~* G/ d6 }8 I. f3 y表单数据提交* P8 u) M. d5 h
表单文本/选项值提交
e2 [+ `+ b" k C文件与图片上传提交
F: _( X$ m( QWeb 状态管理概述! @ @" O# f( e7 Y% Q: X' o9 l
表单登录及cookies/session管理
% O! ?/ R! p% N2 e: H( J) p, X
! |; @( c, @; p+ e5 k6 d$ y5 F% I17 爬虫验证码处理机制) ~3 n- n/ L* Y( Y; r6 Y1 P
爬虫验证码常用处理机制
. m. o' E5 s+ X9 h- ~验证码 cookies处理: \) G1 f7 A5 G( D2 ?' T$ P
图片文本识别技术
: f4 m) k/ q3 t8 |$ C9 m$ e打码服务与Python API
. H* V% P/ M: L s) j9 e; g$ p# X9 Z" K( q+ C% v) M& Z; p
反爬虫技术应对, V7 G$ ~, q2 ^, p f- }
常见反爬虫技术应对
& l: e8 ^) X; H+ a5 j( v时间频率控制与 Headers头部信息模拟( T. N5 }, m6 s8 ]
IP代理切换
4 ~6 C1 P6 c5 i6 f& f: E2 w- G% S/ L# p& R; L& a3 }" p
9 Y7 f1 y3 q1 i% ^1 A4 \7 p
18 Selenium 2框架应用 I' l6 v2 B: ^) g o7 {
Selenium 2 模拟人工操作+ w% Z6 C/ Y* Y# v2 B4 {
概述与Selenium 2/驱动安装4 x4 h7 W* \8 K* i3 f: Q+ w
WebDriver 浏览器交互
( y, E- G" r: w6 Q) g5 k' Z! K | ]9 j1 Z: E% [
Web 元素定位与查找0 }' Y. N0 P, s6 J
WebElement 网页元素:文本/值/属性/状态
: b) n$ T' _, c1 i9 a" D元素交互之:鼠标键盘事件
& }) [( d) y) I1 j实现网页自动截图. x$ O: {0 ]5 J
R- m4 \4 h" M( I' S
19 爬虫陷阱之动态内容处理, l: ~9 ] x+ P2 p6 G$ \% M8 K
JS脚本执行与AJAX异步处理
6 k% S- a$ B0 L" J: H" Y9 f1 y: F% {: dSelenium2 后台脚本执行0 A& N. I) T* ]8 p
处理AJAX异步加载元素
0 b4 s5 C: R8 G网页转跳处理( _7 K4 J$ i6 d. `8 {6 m1 r: _
3 y9 S0 s! i5 s9 ~0 \6 M/ D" B5 [
20 爬虫测试
Y4 o) j) ^ H* g5 O3 Z爬虫单元测试用例编写
! }/ _# n/ W* ^: t% r% n1 \0 MPython unittest 单元测试
/ F( \2 H. t" T( K* ?9 N/ |爬虫与单元测试: r! O+ M* Y. ]# m
Selenium 与单元测试) Q: b7 f* D; {. T1 U
y9 `. l: n! M, N- i) Z" N+ W! @$ w' g. U. S
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|