目 錄
第1章 Python環境配置 1
1.1Python簡介 1
1.1.1Python的曆史由來 1
1.1.2Python的現狀 2
1.1.3Python的應用 2
1.2Python開發環境配置 4
1.2.1Windows下安裝Python 4
1.2.2Windows下安裝配置pip 9
1.2.3Linux下安裝Python 10
1.2.4Linux下安裝配置pip 12
1.2.5永遠的開始:hello world 15
1.3 本章小結 20
第2章 Python基礎 21
2.1Python變量類型 21
2.1.1數字 21
2.1.2字符串 24
2.1.3列錶 28
2.1.4元組 34
2.1.5字典 36
2.2Python語句 40
2.2.1條件語句——if else 40
2.2.2有限循環——for 41
2.2.3無限循環——while 43
2.2.4中斷循環——continue、break 45
2.2.5異常處理——try except 47
2.2.6導入模塊——import 49
2.3 函數和類 53
2.3.1函數 53
2.3.2類 59
2.4Python代碼格式 65
2.4.1Python代碼縮進 65
2.4.2Python命名規則 66
2.4.3Python代碼注釋 68
2.5Python調試 70
2.5.1Windows下IDLE調試 70
2.5.2Linux下pdb調試 73
2.6 本章小結 77
第3章 簡單的Python腳本 78
3.1 九九乘法錶 78
3.1.1Project分析 78
3.1.2Project實施 78
3.2 斐波那契數列 80
3.2.1Project分析 80
3.2.2Project實施 80
3.3 概率計算 81
3.3.1Project分析 81
3.3.2Project實施 82
3.4 讀寫文件 83
3.4.1Project分析 83
3.4.2project實施 84
3.5 本章小結 85
第4章 Python爬蟲常用模塊 86
4.1Python標準庫之urllib2模塊 86
4.1.1urllib2請求返迴網頁 86
4.1.2urllib2使用代理訪問網頁 88
4.1.3urllib2修改header 91
4.2Python標準庫——logging模塊 95
4.2.1簡述logging模塊 95
4.2.2自定義模塊myLog 99
4.3 其他有用模塊 102
4.3.1re模塊(正則錶達式操作) 102
4.3.2sys模塊(係統參數獲取) 105
4.3.3time模塊(獲取時間信息) 106
4.4 本章小結 110
第5章 Scrapy爬蟲框架 111
5.1 安裝Scrapy 111
5.1.1Windows下安裝Scrapy環境 111
5.1.2Linux下安裝Scrapy 112
5.1.3vim編輯器 113
5.2Scrapy選擇器XPath和CSS 114
5.2.1XPath選擇器 114
5.2.2CSS選擇器 117
5.2.3其他選擇器 118
5.3Scrapy爬蟲實戰一:今日影視 118
5.3.1創建Scrapy項目 119
5.3.2Scrapy文件介紹 120
5.3.3Scrapy爬蟲編寫 123
5.4Scrapy爬蟲實戰二:天氣預報 129
5.4.1項目準備 130
5.4.2創建編輯Scrapy爬蟲 131
5.4.3數據存儲到json 138
5.4.4數據存儲到MySQL 140
5.5Scrapy爬蟲實戰三:獲取代理 146
5.5.1項目準備 146
5.5.2創建編輯Scrapy爬蟲 147
5.5.3多個Spider 153
5.5.4處理Spider數據 157
5.6Scrapy爬蟲實戰四:糗事百科 159
5.6.1目標分析 159
5.6.2創建編輯Scrapy爬蟲 160
5.6.3Scrapy項目中間件——添加headers 161
5.6.4Scrapy項目中間件——添加proxy 165
5.7scrapy爬蟲實戰五:爬蟲攻防 167
5.7.1創建一般爬蟲 167
5.7.2封鎖間隔時間破解 171
5.7.3封鎖Cookies破解 171
5.7.4封鎖user-agent破解 171
5.7.5封鎖IP破解 174
5.8 本章小結 177
第6章 Beautiful Soup爬蟲 178
6.1 安裝BeautifulSoup環境 178
6.1.1Windows下安裝Beautiful Soup 178
6.1.2Linux下安裝Beautiful Soup 179
6.1.3最強大的IDE——Eclipse 179
6.2BeautifulSoup解析器 188
6.2.1bs4解析器選擇 188
6.2.2lxml解析器安裝 189
6.2.3使用bs4過濾器 190
6.3bs4爬蟲實戰一:獲取百度貼吧內容 196
6.3.1目標分析 196
6.3.2項目實施 197
6.3.3代碼分析 205
6.3.4Eclipse調試 206
6.4bs4爬蟲實戰二:獲取雙色球中奬信息 207
6.4.1目標分析 207
6.4.2項目實施 210
6.4.3保存結果到Excel 214
6.4.4代碼分析 221
6.5bs4爬蟲實戰三:獲取起點小說信息 221
6.5.1目標分析 222
6.5.2項目實施 223
6.5.3保存結果到MySQL 226
6.5.4代碼分析 230
6.6bs4爬蟲實戰四:獲取電影信息 230
6.6.1目標分析 230
6.6.2項目實施 232
6.6.3bs4反爬蟲 235
6.6.4代碼分析 237
6.7bs4爬蟲實戰五:獲取音悅颱榜單 238
6.7.1目標分析 238
6.7.2項目實施 239
6.7.3代碼分析 244
6.8 本章小結 245
第7章 Mechanize模擬瀏覽器 246
7.1 安裝Mechanize模塊 246
7.1.1Windows下安裝Mechanize 246
7.1.2Linux下安裝Mechanize 247
7.2Mechanize 測試 248
7.2.1Mechanize百度 248
7.2.2Mechanize光貓F460 251
7.3Mechanize實站一:獲取Modem信息 254
7.3.1獲取F460數據 254
7.3.2代碼分析 257
7.4Mechanize實戰二:獲取音悅颱公告 258
7.4.1登錄原理 258
7.4.2獲取Cookie的方法 259
7.4.3獲取Cookie 262
7.4.4使用Cookie登錄獲取數據 266
7.5 本章總結 270
第8章 Selenium模擬瀏覽器 271
8.1 安裝Selenium模塊 271
8.1.1Windows下安裝Selenium模塊 271
8.1.2Linux下安裝Selenium模塊 272
8.2 瀏覽器選擇 272
8.2.1Webdriver支持列錶 272
8.2.2Windows下安裝PhantomJS 273
8.2.3Linux下安裝PhantomJS 276
8.3Selenium&PhantomJS抓取數據 277
8.3.1獲取百度搜索結果 277
8.3.2獲取搜索結果 280
8.3.3獲取有效數據位置 282
8.3.4從位置中獲取有效數據 284
8.4Selenium&PhantomJS實戰一:獲取代理 285
8.4.1準備環境 285
8.4.2爬蟲代碼 287
8.4.3代碼解釋 289
8.5Selenium&PhantomJS實戰二:漫畫爬蟲 289
8.5.1準備環境 290
8.5.2爬蟲代碼 291
8.5.3代碼解釋 294
8.6 本章總結 294
· · · · · · (
收起)