Python網(wǎng)絡(luò)爬蟲(chóng):從入門(mén)到精通(附微課)
定 價(jià):¥49.8
中 教 價(jià):¥29.88 (6.00折)
庫(kù) 存 數(shù): 14
叢 書(shū) 名:數(shù)據(jù)科學(xué)與統(tǒng)計(jì)系列規(guī)劃教材
本書(shū)主要介紹如何使用Python語(yǔ)言進(jìn)行網(wǎng)絡(luò)爬蟲(chóng)程序的開(kāi)發(fā),從Python語(yǔ)言的基本特性入手,詳細(xì)介紹Python網(wǎng)絡(luò)爬蟲(chóng)開(kāi)發(fā)的多個(gè)方面,涉及HTTP、HTML、正則表達(dá)式、JavaScript、自然語(yǔ)言處理、數(shù)據(jù)處理與科學(xué)計(jì)算等不同領(lǐng)域的內(nèi)容。全書(shū)共12章,包括基礎(chǔ)篇、進(jìn)階篇、提高篇和實(shí)戰(zhàn)篇4個(gè)部分。基礎(chǔ)篇包括第1、2、3章,分別為Python基礎(chǔ)及網(wǎng)絡(luò)爬蟲(chóng)、靜態(tài)網(wǎng)頁(yè)抓取、數(shù)據(jù)存儲(chǔ)。進(jìn)階篇包括第4、5、6章,分別為JavaScript與動(dòng)態(tài)內(nèi)容、模擬登錄與驗(yàn)證碼、爬蟲(chóng)數(shù)據(jù)的分析與處理。提高篇包括第7、8、9章,分別為爬蟲(chóng)的靈活性和多樣性、Selenium模擬瀏覽器與網(wǎng)站測(cè)試、爬蟲(chóng)框架Scrapy與反爬蟲(chóng)。實(shí)戰(zhàn)篇提供了3個(gè)實(shí)戰(zhàn)項(xiàng)目供讀者學(xué)習(xí)參考。本書(shū)內(nèi)容覆蓋網(wǎng)絡(luò)數(shù)據(jù)抓取與爬蟲(chóng)編程中的主要知識(shí)和前沿技術(shù)。同時(shí),本書(shū)在重視理論基礎(chǔ)的前提下,從實(shí)用性和豐富度出發(fā),結(jié)合實(shí)例演示爬蟲(chóng)程序編寫(xiě)的核心流程,將理論與實(shí)踐結(jié)合,力求提高讀者的網(wǎng)絡(luò)爬蟲(chóng)實(shí)操技能。本書(shū)可作為高等院校數(shù)據(jù)科學(xué)、統(tǒng)計(jì)學(xué)、計(jì)算機(jī)科學(xué)、軟件工程等相關(guān)專(zhuān)業(yè)課程的教材,也可作為Python語(yǔ)言初學(xué)者、網(wǎng)絡(luò)爬蟲(chóng)技術(shù)愛(ài)好者的參考書(shū)。
1.由北京航空航天大學(xué)擁有近20年軟件開(kāi)發(fā)、計(jì)算機(jī)教學(xué)經(jīng)驗(yàn)的教師編寫(xiě),權(quán)威性高,內(nèi)容質(zhì)量上乘2.全新內(nèi)容結(jié)構(gòu)布局,豐富要點(diǎn)提示及課程目標(biāo),落實(shí)翻轉(zhuǎn)課堂教學(xué)理念3.基礎(chǔ)詳解 大量案例實(shí)戰(zhàn),立足于零基礎(chǔ)人群實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲(chóng)從入門(mén)到精通4.全新的豐富配套數(shù)字化資源,提供語(yǔ)法速查表與算法框架表,提供完整案例運(yùn)行源代碼
呂云翔 比利時(shí)布魯塞爾自由大學(xué)應(yīng)用科學(xué)學(xué)院應(yīng)用信息技術(shù)專(zhuān)業(yè)碩士、經(jīng)濟(jì)學(xué)院工商管理專(zhuān)業(yè)碩士,北京航空航天大學(xué)軟件學(xué)院副教授,碩士生導(dǎo)師。主要研究方向:軟件工程、人工智能、大數(shù)據(jù)。具有多年的軟件開(kāi)發(fā)、項(xiàng)目管理、計(jì)算機(jī)教學(xué)經(jīng)驗(yàn),對(duì)IT行業(yè)具有較全面的認(rèn)識(shí),編著教材多部。曾獲得北航教學(xué)成果一等獎(jiǎng)、二等獎(jiǎng)(教材)、三等獎(jiǎng)(教材)。
目 錄基礎(chǔ)篇第 1章 Python基礎(chǔ)及網(wǎng)絡(luò)爬蟲(chóng) 11.1 了解Python語(yǔ)言 11.1.1 Python是什么 11.1.2 Python的應(yīng)用現(xiàn)狀 21.2 配置安裝Python開(kāi)發(fā)環(huán)境 31.2.1 在Windows上安裝 31.2.2 在Ubuntu和macOS上安裝 31.2.3 IDE的使用:以PyCharm為例 41.2.4 Jupyter Notebook簡(jiǎn)介 61.3 Python基礎(chǔ)知識(shí) 71.3.1 Hello,World!與數(shù)據(jù)類(lèi)型 71.3.2 邏輯語(yǔ)句 121.3.3 Python中的函數(shù)與類(lèi) 141.3.4 更深入了解Python 161.4 互聯(lián)網(wǎng)、HTTP與HTML 161.4.1 互聯(lián)網(wǎng)與HTTP 161.4.2 HTML 171.5 Hello Spider 191.5.1 編寫(xiě)第 一個(gè)爬蟲(chóng)程序 191.5.2 對(duì)爬蟲(chóng)的思考 211.6 分析網(wǎng)站 221.6.1 robots.txt與Sitemap簡(jiǎn)介 221.6.2 網(wǎng)站技術(shù)分析 241.6.3 網(wǎng)站所有者信息分析 251.6.4 使用開(kāi)發(fā)者工具檢查目標(biāo)網(wǎng)頁(yè) 26章節(jié)實(shí)訓(xùn):Python環(huán)境的配置與爬蟲(chóng)的運(yùn)行 28思考與練習(xí) 28第 2章 靜態(tài)網(wǎng)頁(yè)抓取 292.1 從抓取開(kāi)始 292.2 正則表達(dá)式 302.2.1 什么是正則表達(dá)式 302.2.2 正則表達(dá)式的簡(jiǎn)單使用 312.3 BeautifulSoup爬蟲(chóng) 332.3.1 安裝BeautifulSoup 332.3.2 BeautifulSoup的基本用法 352.4 XPath與lxml 372.4.1 XPath 372.4.2 lxml與XPath的使用 382.5 遍歷頁(yè)面 402.5.1 抓取下一個(gè)頁(yè)面 402.5.2 完成爬蟲(chóng) 412.6 使用API 422.6.1 API簡(jiǎn)介 422.6.2 API使用示例 44章節(jié)實(shí)訓(xùn):?jiǎn)袅▎袅ㄖ辈ラg信息抓取練習(xí) 47思考與練習(xí) 47第3章 數(shù)據(jù)存儲(chǔ) 483.1 Python中的文件 483.1.1 Python中的文件讀寫(xiě) 483.1.2 對(duì)象序列化 503.2 Python中的字符串 503.3 Python中的圖片 513.3.1 PIL與Pillow模塊 513.3.2 Python與OpenCV簡(jiǎn)介 533.4 CSV文件 543.4.1 CSV簡(jiǎn)介 543.4.2 CSV的讀寫(xiě) 543.5 數(shù)據(jù)庫(kù)的使用 563.5.1 MySQL的使用 563.5.2 SQLite 3的使用 573.5.3 SQLAlchemy的使用 583.5.4 Redis的使用 593.5.5 MongoDB的使用 603.6 其他類(lèi)型的文檔 61章節(jié)實(shí)訓(xùn):使用Python 3讀寫(xiě)SQLite 3數(shù)據(jù)庫(kù) 63思考與練習(xí) 64進(jìn)階篇第4章 JavaScript與動(dòng)態(tài)內(nèi)容 654.1 JavaScript與AJAX技術(shù) 654.1.1 JavaScript語(yǔ)言 654.1.2 AJAX 684.2 抓取AJAX數(shù)據(jù) 694.2.1 分析數(shù)據(jù) 694.2.2 數(shù)據(jù)提取 724.3 抓取動(dòng)態(tài)內(nèi)容 764.3.1 動(dòng)態(tài)渲染頁(yè)面 764.3.2 使用Selenium 764.3.3 PyV8與Splash 81章節(jié)實(shí)訓(xùn):抓取人民郵電出版社熱銷(xiāo)圖書(shū)信息 83思考與練習(xí) 84第5章 模擬登錄與驗(yàn)證碼 855.1 表單 855.1.1 表單與POST 855.1.2 POST發(fā)送表單數(shù)據(jù) 875.2 Cookie 895.2.1 Cookie簡(jiǎn)介 895.2.2 在Python中Cookie的使用 905.3 模擬登錄網(wǎng)站 915.3.1 分析網(wǎng)站 915.3.2 Cookie方法的模擬登錄 925.4 驗(yàn)證碼 945.4.1 圖片驗(yàn)證碼 945.4.2 滑動(dòng)驗(yàn)證 96章節(jié)實(shí)訓(xùn):通過(guò)Selenium模擬登錄Gitee并保存Cookie 99思考與練習(xí) 99第6章 爬蟲(chóng)數(shù)據(jù)的分析與處理 1006.1 Python與文本分析 1006.1.1 文本分析簡(jiǎn)介 1006.1.2 jieba與SnowNLP 1016.1.3 NLTK 1046.1.4 文本分類(lèi)與聚類(lèi) 1066.2 數(shù)據(jù)處理與科學(xué)計(jì)算 1086.2.1 從MATLAB到Python 1086.2.2 NumPy 1086.2.3 Pandas 1126.2.4 Matplotlib 1166.2.5 Scipy與SymPy 118章節(jié)實(shí)訓(xùn):美國(guó)新冠疫情每日新增人數(shù)的可視化 119思考與練習(xí) 119提高篇第7章 爬蟲(chóng)的靈活性和多樣性 1207.1 爬蟲(chóng)的靈活性以微信數(shù)據(jù)抓取為例 1207.1.1 用Selenium抓取網(wǎng)頁(yè)版微信數(shù)據(jù) 1207.1.2 基于Python的微信API工具 1237.2 爬蟲(chóng)的多樣性 1257.2.1 在BeautifulSoup和XPath之外 1257.2.2 在線爬蟲(chóng)應(yīng)用平臺(tái) 1277.2.3 使用urllib 1297.3 爬蟲(chóng)的部署和管理 1347.3.1 使用服務(wù)器部署爬蟲(chóng) 1347.3.2 本地爬蟲(chóng)程序的編寫(xiě) 1377.3.3 爬蟲(chóng)的部署 1407.3.4 實(shí)時(shí)查看運(yùn)行結(jié)果 1417.3.5 使用框架管理爬蟲(chóng) 142章節(jié)實(shí)訓(xùn):基于PyQuery抓取菜鳥(niǎo)教程 144思考與練習(xí) 145第8章 Selenium模擬瀏覽器與網(wǎng)站測(cè)試 1468.1 測(cè)試 1468.1.1 什么是測(cè)試 1468.1.2 什么是TDD 1468.2 Python的單元測(cè)試 1478.2.1 使用unittest 1478.2.2 其他方法 1498.3 使用Python網(wǎng)絡(luò)爬蟲(chóng)測(cè)試網(wǎng)站 1508.4 使用Selenium測(cè)試 1528.4.1 使用Selenium測(cè)試常用的網(wǎng)站交互 1528.4.2 結(jié)合Selenium進(jìn)行單元測(cè)試 153章節(jié)實(shí)訓(xùn):使用Selenium抓取百度搜索引擎中關(guān)于爬蟲(chóng)的結(jié)果 154思考與練習(xí) 155第9章 爬蟲(chóng)框架Scrapy與反爬蟲(chóng) 1569.1 爬蟲(chóng)框架 1569.1.1 Scrapy簡(jiǎn)介 1569.1.2 安裝與學(xué)習(xí)Scrapy 1579.1.3 Scrapy爬蟲(chóng)編寫(xiě) 1599.1.4 其他爬蟲(chóng)框架介紹 1619.2 網(wǎng)站反爬蟲(chóng) 1629.2.1 反爬蟲(chóng)策略簡(jiǎn)介 1629.2.2 偽裝headers 1639.2.3 代理IP的使用 1659.2.4 控制訪問(wèn)頻率 168章節(jié)實(shí)訓(xùn):使用反反爬蟲(chóng)策略抓取某日?qǐng)?bào)網(wǎng)頭版的標(biāo)題內(nèi)容 168思考與練習(xí) 169實(shí)戰(zhàn)篇第 10章 實(shí)戰(zhàn):保存感興趣的圖片 17010.1 豆瓣網(wǎng)分析與爬蟲(chóng)設(shè)計(jì) 17010.1.1 從需求出發(fā) 17010.1.2 處理登錄問(wèn)題 17110.2 編寫(xiě)爬蟲(chóng)程序 17310.2.1 爬蟲(chóng)腳本 17310.2.2 程序分析 17610.2.3 運(yùn)行并查看結(jié)果 178第 11章 實(shí)戰(zhàn):抓取二手房數(shù)據(jù)并繪制熱力圖 17911.1 數(shù)據(jù)抓取 17911.1.1 網(wǎng)頁(yè)分析 17911.1.2 代碼編寫(xiě) 18111.1.3 運(yùn)行并查看結(jié)果 18311.2 繪制熱力圖 184第 12章 實(shí)戰(zhàn):北京大興國(guó)際機(jī)場(chǎng)航班出發(fā)時(shí)間數(shù)據(jù)抓取 18912.1 程序設(shè)計(jì) 18912.1.1 網(wǎng)頁(yè)分析 18912.1.2 將數(shù)據(jù)保存到數(shù)據(jù)庫(kù) 19012.2 爬蟲(chóng)編寫(xiě) 19112.2.1 前置準(zhǔn)備 19112.2.2 代碼編寫(xiě) 19212.2.3 運(yùn)行并查看結(jié)果 195參考文獻(xiàn) 196