前言
第1章 Python零基礎語法入門 1
1.1 Python與PyCharm安裝 1
1.1.1 Python安裝(Windows、Mac和Linux) 1
1.1.2 PyCharm安裝 3
1.2 變量和字符串 3
1.2.1 變量 4
1.2.2 字符串的“加法”和“乘法” 4
1.2.3 字符串的切片和索引 5
1.2.4 字符串方法 5
1.3 函數與控製語句 7
1.3.1 函數 7
1.3.2 判斷語句 8
1.3.3 循環語句 8
1.4 Python數據結構 9
1.4.1 列錶 9
1.4.2 字典 11
1.4.3 元組和集閤 11
1.5 Python文件操作 11
1.5.1 打開文件 11
1.5.2 讀寫文件 12
1.5.3 關閉文件 13
1.6 Python麵嚮對象 13
1.6.1 定義類 14
1.6.2 實例屬性 14
1.6.3 實例方法 15
1.6.4 類的繼承 16
第2章 爬蟲原理和網頁構造 17
2.1 爬蟲原理 17
2.1.1 網絡連接 17
2.1.2 爬蟲原理 18
2.2 網頁構造 21
2.2.1 Chrome瀏覽器的安裝 21
2.2.2 網頁構造 22
2.2.3 查詢網頁信息 23
第3章 我的第一個爬蟲程序 26
3.1 Python第三方庫 26
3.1.1 Python第三方庫的概念 26
3.1.2 Python第三方庫的安裝方法 27
3.1.3 Python第三方庫的使用方法 29
3.2 爬蟲三大庫 30
3.2.1 Requests庫 30
3.2.2 BeautifulSoup庫 32
3.2.3 Lxml庫 36
3.3 綜閤案例1——爬取北京地區短租房信息 37
3.3.1 爬蟲思路分析 37
3.3.2 爬蟲代碼及分析 38
3.4 綜閤案例2——爬取酷狗TOP500的數據 41
3.4.1 爬蟲思路分析 41
3.4.2 爬蟲代碼及分析 43
第4章 正則錶達式 45
4.1 正則錶達式常用符號 45
4.1.1 一般字符 45
4.1.2 預定義字符集 46
4.1.3 數量詞 46
4.1.4 邊界匹配 47
4.2 re模塊及其方法 48
4.2.1 search()函數 48
4.2.2 sub()函數 49
4.2.3 findall()函數 49
4.2.4 re模塊修飾符 51
4.3 綜閤案例1——爬取《鬥破蒼穹》全文小說 53
4.3.1 爬蟲思路分析 53
4.3.2 爬蟲代碼及分析 55
4.4 綜閤案例2——爬取糗事百科網的段子信息 56
4.4.1 爬蟲思路分析 56
4.4.2 爬蟲代碼及分析 58
第5章 Lxml庫與Xpath語法 63
5.1 Lxml庫的安裝與使用方法 63
5.1.1 Lxml庫的安裝(Mac、Linux) 63
5.1.2 Lxml庫的使用 64
5.2 Xpath語法 68
5.2.1 節點關係 68
5.2.2 節點選擇 70
5.2.3 使用技巧 70
5.2.4 性能對比 74
5.3 綜閤案例1——爬取豆瓣網圖書TOP250的數據 77
5.3.1 將數據存儲到CSV文件中 77
5.3.2 爬蟲思路分析 78
5.3.3 爬蟲代碼及分析 80
5.4 綜閤案例2——爬取起點中文網小說信息 83
5.4.1 將數據存儲到Excel文件中 83
5.4.2 爬蟲思路分析 84
5.4.3 爬蟲代碼及分析 86
第6章 使用API 88
6.1 API的使用 88
6.1.1 API概述 88
6.1.2 API使用方法 89
6.1.3 API驗證 91
6.2 解析JSON數據 93
6.2.1 JSON解析庫 93
6.2.2 斯必剋API調用 94
6.2.3 百度地圖API調用 96
6.3 綜閤案例1——爬取PEXELS圖片 98
6.3.1 圖片爬取方法 98
6.3.2 爬蟲思路分析 99
6.3.3 爬蟲代碼及分析 100
6.4 綜閤案例2——爬取糗事百科網的用戶地址信息 102
6.4.1 地圖的繪製 102
6.4.2 爬取思路分析 105
6.4.3 爬蟲代碼及分析 106
第7章 數據庫存儲 109
7.1 MongoDB數據庫 109
7.1.1 NoSQL概述 109
7.1.2 MongoDB的安裝 109
7.1.3 MongoDB的使用 115
7.2 MySQL數據庫 117
7.2.1 關係型數據庫概述 117
7.2.2 MySQL的安裝 117
7.2.3 MySQL的使用 123
7.3 綜閤案例1——爬取豆瓣音樂TOP250的數據 126
7.3.1 爬蟲思路分析 126
7.3.2 爬蟲代碼及分析 127
7.4 綜閤案例2——爬取豆瓣電影TOP250的數據 132
7.4.1 爬蟲思路分析 132
7.4.2 爬蟲代碼及分析 133
第8章 多進程爬蟲 139
8.1 多綫程與多進程 139
8.1.1 多綫程和多進程概述 139
8.1.2 多進程使用方法 140
8.1.3 性能對比 140
8.2 綜閤案例1——爬取簡書網熱評文章 143
8.2.1 爬蟲思路分析 143
8.2.2 爬蟲代碼及分析 147
8.3 綜閤案例2——爬取轉轉網二手市場商品信息 150
8.3.1 爬蟲思路分析 150
8.3.2 爬蟲代碼及分析 152
第9章 異步加載 159
9.1 異步加載技術與爬蟲方法 159
9.1.1 異步加載技術概述 159
9.1.2 異步加載網頁示例 159
9.1.3 逆嚮工程 162
9.2 綜閤案例1——爬取簡書網用戶動態信息 165
9.2.1 爬蟲思路分析 165
9.2.2 爬蟲代碼及分析 171
9.3 綜閤案例2——爬取簡書網7日熱門信息 173
9.3.1 爬蟲思路分析 173
9.3.2 爬蟲代碼及分析 179
第10章 錶單交互與模擬登錄 182
10.1 錶單交互 182
10.1.1 POST方法 182
10.1.2 查看網頁源代碼提交錶單 182
10.1.3 逆嚮工程提交錶單 185
10.2 模擬登錄 187
10.2.1 Cookie概述 187
10.2.2 提交Cookie模擬登錄 187
10.3 綜閤案例1——爬取拉勾網招聘信息 188
10.3.1 爬蟲思路分析 188
10.3.2 爬蟲代碼及分析 193
10.4 綜閤案例2——爬取新浪微博好友圈信息 195
10.4.1 詞雲製作 195
10.4.2 爬蟲思路分析 202
10.4.3 爬蟲代碼及分析 206
第11章 Selenium模擬瀏覽器 209
11.1 Selenium和PhantomJS 209
11.1.1 Selenium的概念和安裝 209
11.1.2 瀏覽器的選擇和安裝 209
11.2 Selenium和PhantomJS的配閤使用 213
11.2.1 模擬瀏覽器操作 213
11.2.2 獲取異步加載數據 215
11.3 綜閤案例1——爬取QQ空間好友說說 218
11.3.1 CSV文件讀取 218
11.3.2 爬蟲思路分析 220
11.3.3 爬蟲代碼及分析 221
11.4 綜閤案例2——爬取淘寶商品信息 224
11.4.1 爬蟲思路分析 224
11.4.2 爬蟲代碼及分析 226
第12章 Scrapy爬蟲框架 229
12.1 Scrapy的安裝和使用 229
12.1.1 Scrapy的安裝 229
12.1.2 創建Scrapy項目 233
12.1.3 Scrapy文件介紹 235
12.1.4 Scrapy爬蟲編寫 237
12.1.5 Scrapy爬蟲運行 239
12.2 綜閤案例1——爬取簡書網熱門專題信息 240
12.2.1 爬蟲思路分析 240
12.2.2 爬蟲代碼及分析 244
12.3 綜閤案例2——爬取知乎網Python精華話題 246
12.3.1 爬蟲思路分析 246
12.3.2 爬蟲代碼及分析 248
12.4 綜閤案例3——爬取簡書網專題收錄文章 250
12.4.1 爬蟲思路分析 251
12.4.2 爬蟲代碼及分析 254
12.5 綜閤案例4——爬取簡書網推薦信息 257
12.5.1 爬蟲思路分析 258
12.5.2 爬蟲代碼及分析 260
· · · · · · (
收起)