|
|
目标人群:% P' C; o* Z% ^6 a1 Z8 t
掌握Python编程语言基础,有志从事网络爬虫开发及数据采集程序开发的人群。
5 P) k! E3 `$ @8 u" k$ ~
2 ^9 }7 h% ~/ ]) _学习目标:
; P* v& J( \% M) Q% o( P了解Web前端,熟悉HTTP,系统学习Python urllib库HTTP编程模块,requests网络编程库,BeautifulSoup4 HTML转换解析,并发数据采集、提取、存储,熟悉Selenium 2框架工具应用,并掌握常见反爬虫手段应对,以及爬取陷阱应用等知识!达到独立开发Python网络爬虫程序以完成数据数据采集!" z4 |: S/ V2 u# g* e4 V7 F, Y
, {% S6 p$ Q- \6 _3 m5 Z" J
课程大纲:+ b# {* k; ?$ o6 I. ^& m! W4 l
01 准备工具* d& }* X8 z1 O
02 网站与网页
, B+ ~ l) F6 V3 `& z V03 HTTP超文本传输协议基础! R+ N. l% A. S6 n
04 HTTP资源
" Q9 N6 c4 H1 U" J8 K05 HTTP 消息
% p. O% K5 [' H2 e6 f06 Python 标准库 urllib应用 I; v; K `, i$ X& H0 X' m
07 Python 标准库 urllib应用 II
. l, M5 I6 z @. d4 `08 Web Cookies
7 U5 _( U: E+ a9 M7 J- c7 F* {09 requests HTTP编程
' e9 Z& m$ P! e10 数据爬取与采集 Z$ R6 r5 W) t8 R5 ~' x- N
11 BeautifulSoup4 HTML解析与提取
, u/ b" F5 y, J2 Q l, ?12 爬虫性能与并发处理
5 O g: X9 T4 k( Q; T13 数据存储之:文本CSVExcel2 m. l4 F( }# K$ {- C0 O& |, h
14 数据存储之:SQL关系型数据库* v- E8 m r' p2 w/ G% O5 n
15 数据存储之:MongoDB
1 |/ d$ B0 v8 _: C& H16 表单与登录8 _. T# F# _0 g8 X. O
17 爬虫验证码处理机制; t1 t+ ], L4 ]0 C
18 Selenium 2框架应用 I' F. q! \) P, S9 ?& v. S9 r
19 爬虫陷阱之动态内容处理_wosn.net- t. g5 h2 ^9 U! y" m! u
20 爬虫测试
) v& P6 |9 W8 J: \& ~0 l2 m& z' l9 B! K. T9 c- b/ S
课程目录:
- D. t5 M9 Z [6 D& ?01 准备工具' E' ~# d+ K; l) n' B2 A1 Z1 ?5 q
知识结构/路线图/环境工具准备; z" Y6 K2 E4 @3 m# O
2 Z/ X: Y4 U @- W, V$ i02 网站与网页4 I5 m8 ~& K3 y
1 网站网页前端技术概述
( T7 S; D( W7 M) R- e2 站点结构处理. K1 L+ @1 ]! Y2 T- C6 L
3 HTML定义网络结构% q: R& k) ?6 k9 G/ t1 k2 E% G0 l
4 CSS 定义网页表现
7 R9 q+ s# q2 T7 K1 X' W5 JavaScript定义网页行为' a- f6 y2 d* r
( k$ C3 Q6 P2 L) [03 HTTP超文本传输协议基础
% _% U: C- w+ w1 J L0 p& l4 v! J kHTTP基础1 u4 E" y. t3 i
k# C0 X) X1 w/ o; j6 d% _. @: u04 HTTP 资源
3 K H6 m# `- Z O8 B! N* S1 URL解析
- B. m: T2 u: ^2 URL编码与解码8 @9 C' i$ S' t" J. D% v7 I
3 资源类型及类型协商2 ]( z' U. k" c) l- ^/ F
1 i2 d2 c# c. _3 t: n7 d05 HTTP 消息
# ]4 N' n' p: Q. s L" @: D1 请求与响应
2 T+ |, T: e, L: ~5 g2 HTTP请求方法 B$ _5 B- \( W
3 headers 头部信息6 {/ m" D/ Q* V, r6 i' U
4 响应及状态 j' s9 d0 f5 u- v
% [ M9 A( I9 v1 A2 Y
/ ^: _+ ^9 ~3 `' ^& ^+ {' ~" ?06 Python 标准库 urllib应用 I
! G2 q; A: `8 s _1 Python 标准库 urllib应用 I9 C# b) [) z. _* n& ~4 D' {' y
2 urllib 处理web请求与响应
8 j2 v1 U6 c! Z; u& }! s3 response 状态码与错误处理
& S O8 ]; N4 l( C- h( u+ g1 [4 urllib error错误与异常处理
6 D" x* `- I) q- X5 E
. W0 t* d5 x) [
- [/ \4 N* c8 `6 T% P8 O07 Python 标准库 urllib应用 II: M7 w* Q) f9 {1 |
1 自定义header请求内容协商User-Agen
y8 K8 e) @. i* G! g0 U; z. m( A2 HTTP 请求方法3 Q( Z8 N4 K$ u5 m9 q
3 URLQueryString与地址栏编码0 Z* z. L6 r1 Y7 Y* [
9 g: b' \/ Y; W. z1 n
08 Web Cookies
) i" ?0 ^) D# F# R$ L. L1 Cookies 机制与原理 w6 I" I- S7 l- d& u
2 Python 处理cookies% Z& h( T v* d" T3 G9 g
- U1 _) R9 W' Y: t( O+ }2 t09 requests HTTP编程
# K6 r- z" K! O% o" F b! d5 ~1 g1 【回放】requests 库应用' t6 |( Z7 I" A3 f
2 【录播】requests 概述7 W$ y$ G" }6 R6 t9 ^; x
3 【录播】请求构造与参数传递! A p- V; A5 l( i7 I6 O* ?
4 【录播】response 响应解析 文本二进制JSON
. F, @" v* q+ l @5 【录播】requests cookies 处理
/ i" l% Z& z- I
! q" f# r* }' `8 S
5 U& z2 y/ I6 A' x10 数据爬取与采集; p S2 P! L: r* h" J" r
数据爬取与采集8 N2 M8 Y6 z* T) }( q
图片资源下载
2 P! }; U" K3 y0 S: k' ]$ a文本数据采集5 J {9 y' ~2 s; [3 u
$ S* `0 r, D; p0 b& x
JSON概述
; H0 W t3 r" U# t" }Python JSON操作, }) t% j. A- P: ~7 ^
API 爬取与解析" a2 V f7 A: `/ D3 E0 F/ V, _
2 ]' S! z3 {: y4 F, p. M
11 BeautifulSoup4 HTML解析与提取8 o n/ l ^" l& v! {
BeautifulSoup4 HTML解析6 b: G. [/ n; ^+ ^, Y0 X. l
bs4概述及安装配置% _- P, p* T2 r
BeautifulSoup4核心对象
$ _ t% O& i3 C& iDOM 导航* B8 H+ V* M( r6 H9 n1 T
Web 元素查找与过滤% {4 u! p3 u' Y# [+ F A& [; Z
& i* X% g- ] i! e1 p$ r e
12 爬虫性能与并发处理1 |/ n+ W# x5 O% k
多线程爬虫并发处理' @- i, n T- h' g) p) @
Python 并行编程概述
. N8 e- b$ b- }Python 多线程编程
5 E* B# M' u/ ~- V- r1 K' w高IO并发爬虫实现
1 J2 M0 C; {6 I7 _; E- P# [
- v. d5 D; M: ?, m* @
% w | p0 m. R: |13 数据存储之:文本/CSV/Excel- N/ x5 m3 v4 A- b( B0 f
数据存储之:文本/CSV/Excel
; o$ B. J' }3 C采集数据文本存储6 W7 ]2 m2 O) m& d
采集数据CSV存储2 v0 X) k6 P# o% ]- p! [' C
采集数据Excel存储
$ c% V* E: |* h3 J! O+ U! h
; l) i. D# C# Q14 数据存储之:SQL关系型数据库0 @- \" a" y- V, W
采集数据Python SQLite存储
( w& b* C' Q9 jSQLite 库表管理9 v8 q/ o8 t9 Y% Z. t4 S+ d. z
SQL CRUD操作3 ?1 D. u3 ^2 t* e. s( }
Python sqlite3模块应用
6 B- Y9 _( Y7 R: E! ~6 J采集数据 SQL存储
; R3 O( p! c0 ]- L
6 q1 O+ M, q, c# W f
4 O9 O7 E1 K. [15 数据存储之:MongoDB
# h G& Y$ u! DPyMongo 存储数据到MongoDB
+ N# K% h9 _# N2 ~2 cMongoDB 概述1 j# h! r/ }) u6 J5 @1 n. |& g
MongoDB 集合/文档/字段管理
, k2 R( [3 r' i" ]PyMongo 数据管理' I0 T+ X8 v! s# h4 Q
采集数据 MongoDB存储2 R" m; k' {* `# H- O; e/ ]3 f$ a
: j& _) @; x c& o% ~' l
16 表单与登录( U" ~9 ^- `7 F @
表单数据提交
# L" n5 m3 P. g0 j" a表单文本/选项值提交
4 i: n8 \% I' C8 o, O文件与图片上传提交* w* |+ X+ c/ L6 u* |, \
Web 状态管理概述
+ q; ^7 O3 e* M" Q( M0 x表单登录及cookies/session管理
# _& W& |2 r4 Z* h4 J: h- w$ k; `7 u s# d
17 爬虫验证码处理机制; U2 n( x1 E% Y2 ~
爬虫验证码常用处理机制
6 v+ l2 M5 l3 F8 m% o验证码 cookies处理( h$ ]+ @; s8 }' I
图片文本识别技术/ L, U" o6 c% B# O& n z$ Y& [
打码服务与Python API
0 c; X) O& b( @0 K+ {! f2 S Y) V' `$ j+ ~7 l. S
反爬虫技术应对% R- ~! T3 U/ `, ~/ s$ s
常见反爬虫技术应对; }8 H6 h9 x5 \
时间频率控制与 Headers头部信息模拟
8 _) \/ S( ^: y0 V2 @IP代理切换2 I, H9 n- }4 | z
( X r) Z6 s$ j$ z& H2 R. I0 X: _
4 j: ]$ r$ ]6 F5 J# W( n
18 Selenium 2框架应用 I
$ B C; q$ [5 f/ M d# x8 rSelenium 2 模拟人工操作
2 I# R' b6 k, E7 Y5 Y* v4 Q9 l概述与Selenium 2/驱动安装+ [; M l2 Q( ^. u
WebDriver 浏览器交互9 @1 i0 [! `; }& v; K( L) w8 b
8 D' D! J i, {! q* Z7 AWeb 元素定位与查找8 l7 J7 ~( _% y7 C. ]
WebElement 网页元素:文本/值/属性/状态
! s+ z( w9 P5 @ [9 Y2 I. E8 C( o元素交互之:鼠标键盘事件, u8 V' S8 m1 }. x. i
实现网页自动截图1 s; m8 [6 n/ ~$ I
1 o1 F6 `5 } m3 `# f
19 爬虫陷阱之动态内容处理
- r1 s% Y% \: vJS脚本执行与AJAX异步处理" X, k; N" \. ` }+ u) ]" z; N1 o
Selenium2 后台脚本执行
2 c ]3 W- a: P( H/ ~) _1 X处理AJAX异步加载元素, k/ z3 q8 t, M5 F
网页转跳处理& k7 }7 y7 ~7 F+ x2 U* b
8 l9 Q% q! M. A2 H$ I8 q20 爬虫测试7 U: ]$ }" g/ W- y3 `
爬虫单元测试用例编写
* s5 P I6 s! _# @Python unittest 单元测试
- v' |7 J3 X' @爬虫与单元测试
6 Y' a5 V; V3 r* D9 s0 qSelenium 与单元测试
! \ n& Y" v; I8 J+ v2 J" H' n' P7 q) W8 f2 x
2 m8 X) B# t9 I# | ]. G" O! c) Q
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|