|
|
目标人群:. L" c/ H+ M- B- _ D: R2 B' f. q
掌握Python编程语言基础,有志从事网络爬虫开发及数据采集程序开发的人群。
/ v; l$ ^( j; W8 Y. J9 O: {/ Q& I. [; `0 E5 t& u( e0 l
学习目标:
6 ~8 Q p/ C# y, K+ N了解Web前端,熟悉HTTP,系统学习Python urllib库HTTP编程模块,requests网络编程库,BeautifulSoup4 HTML转换解析,并发数据采集、提取、存储,熟悉Selenium 2框架工具应用,并掌握常见反爬虫手段应对,以及爬取陷阱应用等知识!达到独立开发Python网络爬虫程序以完成数据数据采集!* e' _3 ?; x4 J# ?$ p0 F! ?# s9 {
# n: f- d. |- }3 A. d/ B课程大纲:1 G- s, p8 ]; G+ [) ~% |/ v5 z) y
01 准备工具
6 ^) Z! s4 j; c/ ~+ ]7 u. B- I0 c02 网站与网页
4 U$ {& V& ?6 i; v+ p- @03 HTTP超文本传输协议基础2 L, \; U4 W* z8 L
04 HTTP资源
3 N7 s5 _$ V3 \3 @* W% K05 HTTP 消息. e, L$ \! C9 n7 G/ Q" Q
06 Python 标准库 urllib应用 I
# b, S4 C& o1 B' |: Z, m07 Python 标准库 urllib应用 II4 ^9 J3 o" Z0 H2 t; W9 S$ L# m
08 Web Cookies i; ]& r: D6 o9 R# }9 W
09 requests HTTP编程3 P8 H% }7 o1 N5 |1 W
10 数据爬取与采集
8 m# k, f8 q7 B6 r11 BeautifulSoup4 HTML解析与提取
# v5 L& c& |5 Q$ p: L- W; x# ~12 爬虫性能与并发处理
4 g G& a( @; N& N. g A; ]13 数据存储之:文本CSVExcel
) A8 M1 p; U* r5 R7 G14 数据存储之:SQL关系型数据库) t* p5 _& S! _+ E
15 数据存储之:MongoDB3 n- p+ d! Z8 ~
16 表单与登录
+ i7 J) H. D$ Q L1 ~17 爬虫验证码处理机制
6 a1 F4 u3 w! {' F& Z v& o2 M18 Selenium 2框架应用 I( G( j* F3 N( C! H
19 爬虫陷阱之动态内容处理_wosn.net
. L; Z) A. ~+ m+ D20 爬虫测试
4 r' ~: {) {4 ]* K5 z
0 C* d7 K5 C' `, y5 {7 y' r课程目录:0 A. D- h1 t4 |
01 准备工具$ Z# E2 E1 V6 \/ Q" r, {1 a" H
知识结构/路线图/环境工具准备, T9 b5 ]: p5 U4 v) Q0 q$ J4 L
+ @/ U" l, ^+ k* U02 网站与网页
# l2 \( u( ]0 A ~7 r2 L& Y5 T1 网站网页前端技术概述
0 Z7 W. {1 K% }7 J+ {2 站点结构处理5 [2 X& f8 _6 H% c$ X g
3 HTML定义网络结构
4 G8 g1 H J, P6 R) p! w' L& O( r& ^4 CSS 定义网页表现! c' `* K3 P: M/ y0 g) B* y; n' ?
5 JavaScript定义网页行为
7 L0 o9 @9 r9 Z n8 X2 b5 x3 P0 V! O5 b Z' m* k
03 HTTP超文本传输协议基础+ t/ m- h5 o( @/ f
HTTP基础
) u8 i1 N. v5 N- e) o5 e5 i: q) U8 j' r- G8 T+ W% c9 t! n7 t
04 HTTP 资源
: o) B6 D0 b- m. U2 ?) a7 u1 URL解析
; n! K6 A7 S- _, ?' n9 y4 g5 B2 URL编码与解码8 I: A# t8 `, }3 `
3 资源类型及类型协商. [5 n ~# r/ o" t4 d) o! F* t) U
2 @ v f: O K% M, E5 M: F, {* J4 S
05 HTTP 消息
$ R+ v# r; B! E0 L' u1 请求与响应
9 `; V/ b/ X: v& H( s2 HTTP请求方法0 a3 ~' a9 M5 Y
3 headers 头部信息8 {2 }0 a9 e. A0 T2 p' Y
4 响应及状态0 V. F, C/ c6 {& R& B
1 {& O3 {+ [% O3 N: u8 b" G. ^3 n7 @9 O4 R8 \. n2 K
06 Python 标准库 urllib应用 I
5 l) r; {6 `/ q$ Q% B4 N1 Python 标准库 urllib应用 I& f7 R, }4 O! h
2 urllib 处理web请求与响应
- W; n* S }& ]4 k3 response 状态码与错误处理. K' _5 V7 Q2 o& P3 u4 n6 _
4 urllib error错误与异常处理0 x, M2 p- i9 v* a! C
& y& R: S% y8 D+ D& \
* ?6 C* K; s0 ]$ a
07 Python 标准库 urllib应用 II
t! X1 V6 n; ~5 G4 }* Y9 P1 自定义header请求内容协商User-Agen" C: y$ |3 w" R' V. l
2 HTTP 请求方法1 o3 Z$ p$ m/ Q o/ J$ d t" V
3 URLQueryString与地址栏编码1 v, L. _0 T; ]3 J# _8 K
9 R( S; x* o l- T5 U
08 Web Cookies4 H" o, \' h. |& A. m8 i y3 |
1 Cookies 机制与原理* B( e' \, ]: a( U0 N! Q T* M$ a
2 Python 处理cookies p: \0 Z2 G, \, g% {2 I0 z9 b+ o
4 K6 m9 Y$ q) Z4 S) M09 requests HTTP编程! ?. l. F2 d& N; v3 h
1 【回放】requests 库应用
9 E% z# x5 S5 g2 A& I) x _; D& G( A2 【录播】requests 概述
3 p7 S: J; A0 @ ~! H+ P# e0 E' r3 【录播】请求构造与参数传递( ~4 U4 W! T, O( Y/ [$ R
4 【录播】response 响应解析 文本二进制JSON: h6 }$ |& d3 I) b
5 【录播】requests cookies 处理8 q0 `# k% O+ n; H
# }, B" P/ x) F
& M/ ~6 C! x/ O, E% D! C10 数据爬取与采集3 _ H& |9 Q4 y1 a
数据爬取与采集% W- ?: o/ P S+ t
图片资源下载3 R- J t2 g* D( j# S3 Y
文本数据采集
1 _# d& I% D" P8 R4 k' G& t" a- _) [* p+ c0 e2 v$ p6 p
JSON概述
& b) z+ o( m, hPython JSON操作
d; }5 j5 s0 d' g3 lAPI 爬取与解析
' S ^- v# v7 ?! c1 M. @8 E9 j! x1 a/ B1 i1 S7 x. M, R) i
11 BeautifulSoup4 HTML解析与提取
+ @6 d3 M6 e. YBeautifulSoup4 HTML解析- Y- K* C! }6 e* N
bs4概述及安装配置
" g' `; N$ _' Y& {' I CBeautifulSoup4核心对象
2 V, [6 W% c$ I: X3 ODOM 导航, A8 Q, |7 [' h4 P8 b2 t+ {' G
Web 元素查找与过滤
; C2 @ \, N+ M, L0 o# m% ~& F5 q* X
12 爬虫性能与并发处理6 v# W* S$ ^7 y+ O4 c
多线程爬虫并发处理# y; F* N2 j T0 t3 o
Python 并行编程概述
7 a }: o7 j. R N' Y2 UPython 多线程编程
5 f ?. z' c! d* P J1 \高IO并发爬虫实现. H/ a5 U* Z0 X1 f
- x4 q# \, x4 G p5 A
( U. e7 U% V2 D$ A# X* m5 M( n! g3 S13 数据存储之:文本/CSV/Excel
9 @) n5 D# ]# o数据存储之:文本/CSV/Excel) f- b6 U& r9 Z5 `; @9 D; ^
采集数据文本存储
$ O0 I6 e$ T1 l7 V0 K4 z( ?采集数据CSV存储
) {! O9 o8 U4 f+ x0 b6 f采集数据Excel存储4 P8 m' z7 C. T
% P; ~, K) _6 C8 l' W3 e
14 数据存储之:SQL关系型数据库
! k) b6 y/ ?! q$ w; u1 [采集数据Python SQLite存储
' i$ }9 @1 u8 `2 Q) ]) D4 dSQLite 库表管理7 t; p2 ~, x- s
SQL CRUD操作' i% C; }0 `9 U. Y
Python sqlite3模块应用
5 y; o5 `; b2 ^ d, Y7 [+ \采集数据 SQL存储- p9 m# u0 }; Y* g) X" c
6 z! ?4 ]; R0 v7 m q
! e! P# I: C5 D% H; c( l" R% @ `3 h
15 数据存储之:MongoDB
+ L2 X/ w4 u' r4 P0 E6 m ~PyMongo 存储数据到MongoDB
% e6 ` c `% P, Q! E3 {MongoDB 概述
7 t. |( N4 f' N4 w/ _: ~, ?MongoDB 集合/文档/字段管理+ P$ Z: B( C! R
PyMongo 数据管理) H0 W. X' \+ g& D. T# X
采集数据 MongoDB存储5 S3 K" @5 h* N0 H g
* X7 ^$ N$ ]6 D% t16 表单与登录
6 l4 O8 g+ _% n( D' n表单数据提交
0 f9 z: O9 r% z3 ^/ G, T1 R1 b表单文本/选项值提交
; g4 z. x! g% W4 f3 ?9 V$ g; B- s$ Q: q文件与图片上传提交7 f' v; D' E, j4 A, D& f; I7 S) S
Web 状态管理概述/ U5 j+ u B/ N/ W/ u/ c' Z4 u: y
表单登录及cookies/session管理5 z5 D& B! g# P) [: T! e; p
$ X4 V8 ~0 g9 X+ K* Z' f8 C
17 爬虫验证码处理机制
# K9 D! M @- D! N4 q" \. f爬虫验证码常用处理机制
! H, J7 I- a4 t% g" T- W验证码 cookies处理
+ ]& F5 e8 K4 A" N图片文本识别技术" ^! |% e) C" Y; n" s( x2 Y
打码服务与Python API
& v2 P! s% o: p3 V% x& C0 p9 p- N
5 S' }" E( Y! W反爬虫技术应对. p' b' h7 J( V3 F- a6 w( Z
常见反爬虫技术应对/ c! ?6 J7 s& I; K& S, h1 b
时间频率控制与 Headers头部信息模拟" s; E) |9 C* a* R# R, v
IP代理切换* I7 {& o8 N9 l$ O
[/ b: X* F1 z0 E6 m5 C- v3 k( E/ y+ l/ p, j% t( c
18 Selenium 2框架应用 I- ?+ @+ x- C5 g6 G1 U1 C
Selenium 2 模拟人工操作
/ T+ T& Q- h$ ?1 x) ]概述与Selenium 2/驱动安装
8 I v+ \/ }, \WebDriver 浏览器交互
( d4 b9 l5 | Z9 p: }: x4 V2 W( u! f2 g8 s
Web 元素定位与查找
8 E' Z7 u+ c' m% e9 QWebElement 网页元素:文本/值/属性/状态/ @: r3 k! {, O% v1 J- J
元素交互之:鼠标键盘事件
+ l6 K# b4 B/ R6 ]$ m实现网页自动截图! O2 T7 {9 R/ t" \' v; ^. @
( z4 M0 d5 u- t3 \
19 爬虫陷阱之动态内容处理3 T& [" M" I6 C9 V8 T/ l- }5 ]
JS脚本执行与AJAX异步处理 i8 D2 b+ y7 x! L4 k
Selenium2 后台脚本执行8 E, d& A- y) t7 F
处理AJAX异步加载元素5 ^4 j& m. X* V8 T) R! F, b
网页转跳处理
& X! L F8 q- H5 @# X. Z/ q
1 S- `/ V, I7 q5 L3 r! ]20 爬虫测试
: J* _. t- S9 T9 Z爬虫单元测试用例编写" e: b! G y# S6 `
Python unittest 单元测试
0 d7 [% J% t3 V& y爬虫与单元测试
- u9 M: Y! n% f6 g) Y2 lSelenium 与单元测试
$ v9 e6 C9 W6 m) A1 X' R, P) e: s! a, [) f8 z0 z' K' u# W, y
1 d+ q, n7 A$ i. f' ^ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|