●第1章Python基礎知識
1.1Python語言簡介
1.2Python語法基礎
1.2.1Python數據類型
1.2.2序列數據結構
1.2.3Python控制語句
1.2.4Python函數與模塊
1.3Python面向對像設計
1.3.1定義和使用類
1.3.2構造函數__init__
1.3.3析構函數
1.3.4實例屬性和類屬性
1.3.5私有成員與公有成員
1.3.6方法
1.3.7類的繼承
1.3.8多態
1.4Python圖形界面設計
1.4.1創建Windows窗口
1.4.2幾何布局管理器
1.4.3Tkinter組件
1.4.4Python事件處理
1.5Python文件的使用
1.5.1打開(建立)文件
1.5.2讀取文本文件
1.5.3寫文本文件
1.5.4文件的關閉
1.5.5操作Excel文檔
1.6Python的第三方庫
第2章HTML基礎知識和Python文本處理
2.1HTML基礎
2.1.1什麼是HTML
2.1.2HTML的歷史
2.2HTML4基礎和HTML5新特性
2.2.1HTML4基礎知識
2.2.2HTML4基本標簽
2.2.3HTML5的新特性
2.2.4在瀏覽器中查看HTML源代碼
2.3CSS語法基礎
2.3.1CSS基本語句
2.3.2在HTML文檔中應用CSS樣式
2.3.3CSS選擇器
2.4Python文本處理
2.4.1字符串基本處理
2.4.2正則表達式
2.4.3正則表達式語法
2.4.4re模塊
2.4.5正則表達式的實際應用案例
2.5XPath
2.5.1lxml庫安裝
2.5.2XPath語法
2.5.3在Python中使用XPath
第3章網絡通信基礎知識
3.1網絡協議
3.1.1互聯網TCP/IP協議
3.1.2IP協議和端口
3.1.3TCP和UDP協議
3.1.4HTTP和HTTPS協議
3.1.5HTTP基本原理與機制
3.1.6使用Fiddler抓包驗證請求信息和響應信息
3.2Socket編程
3.2.1Socket的概念
3.2.2Socket提供的函數方法
3.2.3TCP協議編程
第4章小試牛刀——下載網站圖片
4.1HTTP下載網站圖片功能介紹
4.2程序設計的思路
4.3關鍵技術
4.3.1urllib庫簡介
4.3.2urllib庫的基本使用
4.3.3圖片文件下載到本地
4.4程序設計的步驟
第5章調用百度API獲取數據——小小翻譯器
5.1小小翻譯器功能介紹
5.2程序設計的思路
5.3關鍵技術
5.3.1urllib庫的高級使用
5.3.2使用UserAgent隱藏身份
5.3.3JSON使用
5.4程序設計的步驟
5.4.1設計界面
5.4.2使用百度翻譯開放平臺API
5.5API調用拓展——爬取天氣預報信息
第6章動態網頁爬蟲應用——抓取百度圖片
6.1程序功能介紹
6.2程序設計的思路
6.3關鍵技術
6.3.1Ajax動態網頁
6.3.2BeautifulSoup庫概述
6.3.3BeautifulSoup庫操作解析HTML文檔樹
6.3.4requests庫的使用
6.3.5Ajax動態網頁爬取
6.4程序設計的步驟
6.4.1分析網頁源代碼和網頁結構
6.4.2設計代碼
6.5動態網頁爬蟲拓展——爬取今日頭條新聞
6.5.1找到JavaScript請求的數據接口
6.5.2分析JSON數據
6.5.3請求和解析數據接口
第7章Selenium操作瀏覽器應用——模擬登錄豆瓣網站
7.1模擬登錄程序功能介紹
7.2程序設計的思路
7.3關鍵技術
7.3.1安裝Selenium庫
7.3.2Selenium詳細用法
7.3.3Selenium應用實例
7.4程序設計的步驟
7.4.1Selenium定位iframe(多層框架)
7.4.2模擬登錄豆瓣網站
7.5基於Cookie繞過驗證碼實現自動登錄
7.5.1為什麼要使用Cookie
7.5.2查看Cookie
7.5.3使用Cookie繞過百度驗證碼自動登錄賬戶
7.6Selenium實現Ajax動態加載抓取今日頭條新聞
7.6.1Selenium處理滾動條
7.6.2Selenium動態加載抓取今日頭條新聞
7.7Selenium實現動態加載抓取國內新聞
第8章網頁版協議API應用——機器人
8.1網頁版機器人功能介紹
8.2網頁版機器人設計思路
8.2.1分析網頁版API
8.2.2API彙總
8.2.3其他說明
8.3程序設計步驟
8.3.1網頁版運行流程
8.3.2程序目錄
8.3.3網頁版運行代碼實現
8.4網頁版機器人擴展功能
8.4.1自動回復
8.4.2群發消息、定時發送消息、好友狀態檢測
8.4.3自動邀請好友加入群聊
8.5庫itchat實現聊天機器人
8.5.1安裝itchat
8.5.2itchat的登錄
8.5.3itchat的消息類型
8.5.4itchat回復消息
8.5.5itchat獲取賬號
8.5.6itchat的一些簡單應用
8.5.7Python調用圖靈機器人API實現簡單的人機交互
8.5.8程序設計的步驟
8.5.9開發消息同步機器人
第9章爬蟲應用——校園網搜索引擎
9.1校園網搜索引擎功能分析
9.2校園網搜索引擎繫統設計
9.3關鍵技術
9.3.1中文分詞
9.3.2安裝和使用jieba
9.3.3jieba添加自定義詞典
9.3.4文本分類的關鍵詞提取
9.3.5deque(雙向隊列)
9.4程序設計的步驟
9.4.1信息采集模塊——網絡爬蟲實現
9.4.2索引模塊——建立倒排詞表
9.4.3網頁排名和搜索模塊
第10章SQLite數據庫存儲——大河報紙媒爬蟲
10.1大河報紙媒爬蟲功能介紹
10.2大河報紙媒爬蟲設計思路
10.3關鍵技術
10.3.1訪問SQLite數據庫的步驟
10.3.2創建數據庫和表
10.3.3數據庫的插入、更新和刪除操作
10.3.4數據庫表的查詢操作
10.3.5數據庫使用實例——學生通訊錄
10.3.6requestshtml庫
10.4程序設計步驟
10.4.1獲取網頁
10.4.2數據入庫
第11章MySQL數據庫存儲——采集爬蟲
11.1采集爬蟲功能介紹
11.2采集爬蟲設計思路
11.3關鍵技術
11.3.1查看Cookie
11.3.2模擬登錄實例
11.3.3使用Python操作MySQL數據庫
11.3.4Base64加密
11.4程序設計步驟
11.4.1模擬登錄
11.4.2獲取網頁
11.4.3數據入庫
第12章Scrapy框架爬蟲
12.1Scrapy框架簡介與安裝
12.1.1Scrapy框架簡介
12.1.2Scrapy安裝
12.2第一個Scrapy爬蟲
12.2.1項目需求
12.2.2創建項目
12.2.3分析頁面
12.2.4定義數據類
12.2.5實現爬蟲
12.2.6配置爬蟲
12.2.7運行爬蟲
12.3Spider開發流程
12.3.1繼承scrapy.Spider
12.3.2為spider起名字
12.3.3設置起始爬取點
12.3.4實現頁面解析函數
12.4Scrapy選擇器
12.4.1Selector類
12.4.2Response內置Selector
12.4.3使用CSS選擇器
12.4.4爬取京東商品信息
12.5Scrapy數據容器
12.5.1Item和Field
12.5.2Item擴展
12.5.3爬取百度貼吧信息
12.6Scrapy常用命令行工具
12.6.1全局命令
12.6.2項目命令
12.7Scrapy數據處理
12.7.1實現ItemPipeline
12.7.2ItemPipeline舉例
12.7.3啟用ItemPipeline
12.8爬取文件和圖片
12.8.1FilesPipeline
12.8.2FilesPipeline實例
12.8.3ImagePipeline
12.8.4爬取百度圖片
12.9Scrapy模擬登錄
12.9.1模擬登錄分析
12.9.2代碼實現
第13章詞雲實戰——爬取豆瓣影評生成詞雲
13.1功能介紹
13.2程序設計的思路
13.3關鍵技術
13.3.1安裝WordCloud詞雲
13.3.2使用WordCloud詞雲
13.4程序設計的步驟
參考文獻
本書以Python3.6為編程環境,從基本的程序設計思想人手,逐步展開Python語言爬蟲功能,是一本面向廣大爬蟲學習愛好者的程序設計類圖書。本書以案例帶動知識點的講解,將爬蟲知識點分解到各個不同的案例,每個案例各有側重點,同時展示實際項目的設計思想和設計理念,便讀者可以舉一反三。本書案例包括校園網搜索引擎、小小翻譯器、抓取百度圖片、開發機器人、selenium操作瀏覽器實現模擬登錄、采集爬蟲和Scrapy框架爬蟲等。這些案例讓讀者對爬蟲學習充滿興趣,在項目案例開發過程中不知不覺掌握這些實用的技術。通過本書,讀者將學會Python編程技術、爬蟲設計技術以及相關內容。本書不僅為讀者列出了完整的代碼,同時對所有的源代碼進行了非常詳細的解釋,做到了通俗易懂、圖文並茂。本書適用於Python語言學習者、網絡爬蟲技術編程愛好者以及數據分析從業人員。