天才教育網(wǎng)合作機(jī)構(gòu) > 編程語(yǔ)言培訓(xùn)機(jī)構(gòu) > Python培訓(xùn)機(jī)構(gòu) >

全國(guó)python學(xué)習(xí)中心

歡迎您!
朋友圈

400-850-8622

全國(guó)統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:編程語(yǔ)言培訓(xùn)資訊 > Python培訓(xùn)資訊 > python爬蟲(chóng)基礎(chǔ)教程,Python 爬蟲(chóng)工具

python爬蟲(chóng)基礎(chǔ)教程,Python 爬蟲(chóng)工具

日期:2021-07-26 09:32:08     瀏覽:375    來(lái)源:全國(guó)python學(xué)習(xí)中心
核心提示:不管你是待業(yè)還是失業(yè),在這個(gè)被互聯(lián)網(wǎng)圍繞的時(shí)代里,選擇python爬蟲(chóng)基礎(chǔ)教程,就多了一項(xiàng)技能,還怕找不到工作?,還怕不好找工作?小編就來(lái)告訴你這個(gè)專業(yè)的優(yōu)勢(shì)到底體現(xiàn)在哪里:7個(gè)Python爬蟲(chóng)實(shí)戰(zhàn)項(xiàng)目教程,Pytho

不管你是待業(yè)還是失業(yè),在這個(gè)被互聯(lián)網(wǎng)圍繞的時(shí)代里,選擇python爬蟲(chóng)基礎(chǔ)教程,就多了一項(xiàng)技能,還怕找不到工作?,還怕不好找工作?小編就來(lái)告訴你這個(gè)專業(yè)的優(yōu)勢(shì)到底體現(xiàn)在哪里:7個(gè)Python爬蟲(chóng)實(shí)戰(zhàn)項(xiàng)目教程,Python 爬蟲(chóng)工具,python各類爬蟲(chóng)經(jīng)典案例,爬到你手軟!,小白如何入門(mén) Python 爬蟲(chóng)?,超牛逼!Python爬蟲(chóng)學(xué)習(xí)的完整路線推薦??。

1.7個(gè)Python爬蟲(chóng)實(shí)戰(zhàn)項(xiàng)目教程

有很多小伙伴在開(kāi)始學(xué)習(xí)Python的時(shí)候,都特別期待能用Python寫(xiě)一個(gè)爬蟲(chóng)腳本,實(shí)驗(yàn)樓上有不少python爬蟲(chóng)的課程,這里總結(jié)7個(gè)實(shí)戰(zhàn)項(xiàng)目,如果你想學(xué)習(xí)Python爬蟲(chóng)的話,可以挑選感興趣的學(xué)習(xí)哦;【python 網(wǎng)站信息爬蟲(chóng)】該項(xiàng)目使用 Python 語(yǔ)言及 scrapy 開(kāi)發(fā)一個(gè)網(wǎng)絡(luò)信息爬蟲(chóng),爬取實(shí)驗(yàn)樓的課程數(shù)據(jù),并將爬取的課程信息保存在一個(gè)txt文件中。效果圖:【python 二手房信息爬取與數(shù)據(jù)呈現(xiàn)】該項(xiàng)目以鏈家的二手房網(wǎng)站為目標(biāo),使用python爬取鏈家官網(wǎng)在售的二手房信息,并且使用 繪圖包對(duì)爬取的信息進(jìn)行分析,繪制簡(jiǎn)單的圖表。部分效果圖:【給Python3爬蟲(chóng)做一個(gè)界面.妹子圖網(wǎng)實(shí)戰(zhàn)】該項(xiàng)目利用PyQt給妹子圖網(wǎng)的爬蟲(chóng)做一個(gè)交互界面,從而對(duì)PyQt做界面有初步了解,同時(shí)也學(xué)習(xí)寫(xiě)爬蟲(chóng);效果圖:【Python網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)--Scrapy框架學(xué)習(xí)】從一個(gè)簡(jiǎn)單的Scrapy項(xiàng)目入手,剖析爬蟲(chóng)的結(jié)構(gòu)和Scrapy的運(yùn)行規(guī)則,*通過(guò)兩個(gè)兩個(gè)實(shí)戰(zhàn)項(xiàng)目——「爬取實(shí)驗(yàn)樓課程信息」和「爬取電影網(wǎng)站信息」,帶領(lǐng)大家從零基礎(chǔ)入門(mén),完全掌握使用Scrapy框架編寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的技能。課程列表:【Python3 實(shí)現(xiàn)淘女郎照片爬蟲(chóng)】該項(xiàng)目使用 Python 實(shí)現(xiàn)一個(gè)淘寶女郎圖片收集爬蟲(chóng)。爬取后的目錄結(jié)構(gòu):每個(gè)文件夾里都有一系列圖片;【高德API+Python解決租房問(wèn)題】該項(xiàng)目使用Python腳本爬取某租房網(wǎng)站的房源信息,利用高德的 js API 在地圖上標(biāo)出房源地點(diǎn),劃出距離工作地點(diǎn)1小時(shí)內(nèi)可到達(dá)的范圍。最終效果圖:【基于 Flask 及爬蟲(chóng)實(shí)現(xiàn)微信娛樂(lè)機(jī)器人】該項(xiàng)目基于 Flask Web 框架開(kāi)發(fā)的娛樂(lè)級(jí)別的微信公眾號(hào)后臺(tái),其中會(huì)爬取糗百網(wǎng)站的笑話,自動(dòng)回復(fù)給用戶;效果圖:*:以上就是7個(gè)有關(guān)python爬蟲(chóng)的實(shí)戰(zhàn)項(xiàng)目,你可以挑選感興趣的進(jìn)行學(xué)習(xí)哦;其他:更多實(shí)戰(zhàn)項(xiàng)目,點(diǎn)擊這里進(jìn)行查看~12條技術(shù)學(xué)習(xí)路徑,帶你零基礎(chǔ)入門(mén)編程~

2.Python 爬蟲(chóng)工具

前幾個(gè)月參加比賽我還自己寫(xiě)了一個(gè),不過(guò)python現(xiàn)在也有現(xiàn)成的模塊可以有,Google一下就可以了,寫(xiě)一個(gè)也不難

3.python各類爬蟲(chóng)經(jīng)典案例,爬到你手軟!

小編整理了一些爬蟲(chóng)的案例,代碼都整理出來(lái)了~先來(lái)看看有哪些項(xiàng)目呢:python爬蟲(chóng)小工具(文件下載助手)爬蟲(chóng)實(shí)戰(zhàn)(筆趣看小說(shuō)下載)爬蟲(chóng)實(shí)戰(zhàn)(VIP視頻下載)爬蟲(chóng)實(shí)戰(zhàn)(百度文庫(kù)文章下載)爬蟲(chóng)實(shí)戰(zhàn)(《帥啊》網(wǎng)帥哥圖片下載)爬蟲(chóng)實(shí)戰(zhàn)(構(gòu)建代理IP池)爬蟲(chóng)實(shí)戰(zhàn)(《火影忍者》漫畫(huà)下載)爬蟲(chóng)實(shí)戰(zhàn)(財(cái)務(wù)報(bào)表下載小助手)爬蟲(chóng)實(shí)戰(zhàn)(抖音App視頻下載)爬蟲(chóng)實(shí)戰(zhàn)(GEETEST驗(yàn)證碼破解)爬蟲(chóng)實(shí)戰(zhàn)(12306搶票小助手)爬蟲(chóng)實(shí)戰(zhàn)(百萬(wàn)英雄答題輔助系統(tǒng))爬蟲(chóng)實(shí)戰(zhàn)(網(wǎng)易云音樂(lè)批量下載)爬蟲(chóng)實(shí)戰(zhàn)(B站視頻和彈幕批量下載)爬蟲(chóng)實(shí)戰(zhàn)(京東商品曬單圖下載)爬蟲(chóng)實(shí)戰(zhàn)(正方教務(wù)管理系統(tǒng)爬蟲(chóng))怎么樣?是不是迫不及待的想自己動(dòng)手試試了呢?在學(xué)習(xí)中有迷茫不知如何學(xué)習(xí)的朋友小編推薦一個(gè)學(xué)Python的學(xué)習(xí)q u n 227 -435- 450可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!免費(fèi)分享視頻資料爬蟲(chóng)小工具文件下載小助手一個(gè)可以用于下載圖片、視頻、文件的小工具,有下載進(jìn)度顯示功能。稍加修改即可添加到自己的爬蟲(chóng)中。代碼展示:爬蟲(chóng)實(shí)戰(zhàn)《筆趣看》盜版小說(shuō)網(wǎng)站,爬取小說(shuō)工具第三方依賴庫(kù)安裝:pip3 install 使用方法:python biqukan.py代碼展示:愛(ài)奇藝等主流視頻網(wǎng)站的VIP視頻破解助手(暫只支持PC和手機(jī)在線觀看VIP視頻!)運(yùn)行源碼需要搭建Python3環(huán)境,并安裝相應(yīng)第三方依賴庫(kù):pip3 install -r .txt使用方法:python movie_.py運(yùn)行環(huán)境:Windows, , , Python3代碼展示:百度文庫(kù)word文章爬取代碼不完善,沒(méi)有進(jìn)行打包,不具通用性,純屬娛樂(lè),以后有時(shí)間會(huì)完善。代碼展示:爬取《帥啊》網(wǎng),帥哥圖片運(yùn)行平臺(tái): 版本: Python3.xIDE: Sublime text3為了也能夠?qū)W習(xí)到新知識(shí),本次爬蟲(chóng)教程使用requests第三方庫(kù),這個(gè)庫(kù)可不是Python3內(nèi)置的urllib.request庫(kù),而是一個(gè)強(qiáng)大的基于urllib3的第三方庫(kù)。代碼展示:構(gòu)建代理IP池代碼展示:使用Scrapy爬取《火影忍者》漫畫(huà)代碼可以爬取整個(gè)《火影忍者》漫畫(huà)所有章節(jié)的內(nèi)容,保存到本地。更改地址,可以爬取其他漫畫(huà)。保存地址可以在代碼中修改。代碼展示:《王者榮耀》推薦出裝查詢小助手網(wǎng)頁(yè)爬取已經(jīng)會(huì)了,想過(guò)爬取手機(jī)APP里的內(nèi)容嗎?代碼展示:財(cái)務(wù)報(bào)表下載小助手爬取的數(shù)據(jù)存入數(shù)據(jù)庫(kù)會(huì)嗎?《跟股神巴菲特學(xué)習(xí)炒股之財(cái)務(wù)報(bào)表入庫(kù)(MySQL)》也許能給你一些思路。代碼展示:抖音App視頻下載抖音App的視頻下載,就是普通的App爬取。代碼展示:GEETEST驗(yàn)證碼破解爬蟲(chóng)*的敵人之一是什么?沒(méi)錯(cuò),驗(yàn)證碼!Geetest作為提供驗(yàn)證碼服務(wù)的行家,市場(chǎng)占有率還是蠻高的。遇到Geetest提供的滑動(dòng)驗(yàn)證碼怎么破?授人予魚(yú)不如授人予漁,接下來(lái)就為大家呈現(xiàn)本教程的精彩內(nèi)容。代碼展示:用Python搶火車票簡(jiǎn)單代碼可以自己慢慢豐富,蠻簡(jiǎn)單,有爬蟲(chóng)基礎(chǔ)很好操作。代碼展示:baiwan:百萬(wàn)英雄輔助答題看了網(wǎng)上很多的教程都是通過(guò)OCR識(shí)別的,這種方法的優(yōu)點(diǎn)在于通用性強(qiáng)。不同的答題活動(dòng)都可以參加,但是缺點(diǎn)也明顯,速度有限,并且如果通過(guò)調(diào)用第三方OCR,有次數(shù)限制。但是使用本教程提到的數(shù)據(jù)接口。我們能很容易的獲取數(shù)據(jù),速度快,但是接口是變化的,需要及時(shí)更新。代碼展示:功能介紹:服務(wù)器端,使用Python(baiwan.py)通過(guò)抓包獲得的接口獲取答題數(shù)據(jù),解析之后通過(guò)百度知道搜索接口匹配答案,將最終匹配的結(jié)果寫(xiě)入文件(file.txt)。Node.js(app.js)每隔1s讀取一次file.txt文件,并將讀取結(jié)果通過(guò) bilibili.py -d 貓 -k 貓 -p 10三個(gè)參數(shù):-d保存視頻的文件夾名-kB站搜索的關(guān)鍵字-p下載搜索結(jié)果前多少頁(yè)京東商品曬單圖下載使用說(shuō)明:python jd.py -k 芒果三個(gè)參數(shù):-d保存圖片的路徑,默認(rèn)為fd.py文件所在文件夾-k搜索關(guān)鍵詞-n 下載商品的曬單圖個(gè)數(shù),即n個(gè)商店的曬單圖代碼展示:對(duì)正方教務(wù)管理系統(tǒng)個(gè)人課表,學(xué)生成績(jī),績(jī)點(diǎn)等簡(jiǎn)單爬取依賴環(huán)境python 3.6python庫(kù)http請(qǐng)求:requests,urllib數(shù)據(jù)提?。簉e,lxml,bs4存儲(chǔ)相關(guān):os,sys驗(yàn)證碼處理:PIL下載安裝在終端輸入如下命令:git clone git@github.com:Jack-Cherish/python-spider.git使用方法安裝依賴包pip install -r .txt運(yùn)行在當(dāng)前目錄下輸入:cd zhengfang_system_ spider.py運(yùn)行爬蟲(chóng),按提示輸入學(xué)校教務(wù)網(wǎng),學(xué)號(hào),密碼,輸入驗(yàn)證碼稍等幾秒鐘,當(dāng)前ZhengFang_System_Spider文件夾下就會(huì)生成zhengfang.txt個(gè)人課表,成績(jī)績(jī)點(diǎn)均已保存到該文本文件中代碼展示:

4.小白如何入門(mén) Python 爬蟲(chóng)?

本文針對(duì)初學(xué)者,我會(huì)用最簡(jiǎn)單的案例告訴你如何入門(mén)python爬蟲(chóng)!想要入門(mén)Python 爬蟲(chóng)首先需要解決四個(gè)問(wèn)題熟悉python編程了解HTML了解網(wǎng)絡(luò)爬蟲(chóng)的基本原理學(xué)習(xí)使用python爬蟲(chóng)庫(kù)一、你應(yīng)該知道什么是爬蟲(chóng)?網(wǎng)絡(luò)爬蟲(chóng),其實(shí)叫作網(wǎng)絡(luò)數(shù)據(jù)采集更容易理解。就是通過(guò)編程向網(wǎng)絡(luò)服務(wù)器請(qǐng)求數(shù)據(jù)(HTML表單),然后解析HTML,提取出自己想要的數(shù)據(jù)。歸納為四大步:根據(jù)url獲取HTML數(shù)據(jù)解析HTML,獲取目標(biāo)信息存儲(chǔ)數(shù)據(jù)重復(fù)*步這會(huì)涉及到數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)服務(wù)器、HTTP協(xié)議、HTML、數(shù)據(jù)科學(xué)、網(wǎng)絡(luò)安全、圖像處理等非常多的內(nèi)容。但對(duì)于初學(xué)者而言,并不需要掌握這么多。二、python要學(xué)習(xí)到什么程度如果你不懂python,那么需要先學(xué)習(xí)python這門(mén)非常easy的語(yǔ)言(相對(duì)其它語(yǔ)言而言)。編程語(yǔ)言基礎(chǔ)語(yǔ)法無(wú)非是數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)、運(yùn)算符、邏輯結(jié)構(gòu)、函數(shù)、文件IO、錯(cuò)誤處理這些,學(xué)起來(lái)會(huì)顯枯燥但并不難。剛開(kāi)始入門(mén)爬蟲(chóng),你甚至不需要去學(xué)習(xí)python的類、多線程、模塊之類的略難內(nèi)容。找一個(gè)面向初學(xué)者的教材或者網(wǎng)絡(luò)教程,花個(gè)十幾天功夫,就能對(duì)python基礎(chǔ)有個(gè)三四分的認(rèn)識(shí)了,這時(shí)候你可以玩玩爬蟲(chóng)嘍!先說(shuō)下python入門(mén),實(shí)在是太容易了,因?yàn)檎Z(yǔ)法簡(jiǎn)單,思維與人類的思維很相近。入門(mén)的時(shí)候,別整天想著看很多資料,網(wǎng)上各種找,*都留在了收藏夾吃灰。其實(shí)對(duì)于剛接觸編程的小白而言,最容易卡在安裝Python環(huán)境和實(shí)操代碼這一步。建議一開(kāi)始先試試一些學(xué)習(xí)網(wǎng)站的免費(fèi)課程,大概了解下Python的基礎(chǔ)知識(shí),打好扎實(shí)的基礎(chǔ)后再上手學(xué)爬蟲(chóng)。如果毫無(wú)基礎(chǔ)可言,甚至不知道如何下載Python,那我推薦下面這個(gè)課程↓ 不用安裝環(huán)境,直接在網(wǎng)頁(yè)上學(xué)習(xí)代碼實(shí)操,基礎(chǔ)知識(shí)配實(shí)戰(zhàn),這樣學(xué)起來(lái)更容易: 解析數(shù)據(jù),因?yàn)閿?shù)據(jù)藏在HTML里。學(xué)習(xí)HTML并不難,它并不是編程語(yǔ)言,你只需要熟悉它的標(biāo)記規(guī)則,這里大致講一下。HTML標(biāo)記包含標(biāo)簽(及其屬性)、基于字符的數(shù)據(jù)類型、字符引用和實(shí)體引用等幾個(gè)關(guān)鍵部分。HTML標(biāo)簽是最常見(jiàn)的,通常成對(duì)出現(xiàn),比如

。這些成對(duì)出現(xiàn)的標(biāo)簽中,*個(gè)標(biāo)簽是開(kāi)始標(biāo)簽,第二個(gè)標(biāo)簽是結(jié)束標(biāo)簽。兩個(gè)標(biāo)簽之間為元素的內(nèi)容(文本、圖像等),有些標(biāo)簽沒(méi)有內(nèi)容,為空元素,如。以下是一個(gè)經(jīng)典的Hello World程序的例子: This is a title

Hello world!

HTML文檔由嵌套的HTML元素構(gòu)成。它們用HTML標(biāo)簽表示,包含于尖括號(hào)中,如

[56]在一般情況下,一個(gè)元素由一對(duì)標(biāo)簽表示:“開(kāi)始標(biāo)簽”

與“結(jié)束標(biāo)簽”

。元素如果含有文本內(nèi)容,就被放置在這些標(biāo)簽之間。四、了解python網(wǎng)絡(luò)爬蟲(chóng)的基本原理在編寫(xiě)python爬蟲(chóng)程序時(shí),只需要做以下兩件事:發(fā)送GET請(qǐng)求,獲取HTML解析HTML,獲取數(shù)據(jù)這兩件事,python都有相應(yīng)的庫(kù)幫你去做,你只需要知道如何去用它們就可以了。五、用python庫(kù)爬取百度首頁(yè)標(biāo)題和圖片首先,發(fā)送HTML數(shù)據(jù)請(qǐng)求可以使用python內(nèi)置庫(kù)urllib,該庫(kù)有一個(gè)urlopen函數(shù),可以根據(jù)url獲取HTML文件,這里嘗試獲取百度首頁(yè)“ 導(dǎo)入urllib庫(kù)的urlopen函數(shù) from urllib.request import urlopen # 發(fā)出請(qǐng)求,獲取html html = urlopen(" # 獲取的html內(nèi)容是字節(jié),將其轉(zhuǎn)化為字符串 html_text = bytes.decode(html.read()) # 打印html內(nèi)容 print(html_text)看看效果:輸出html內(nèi)容部分截取我們看一下真正百度首頁(yè)html是什么樣的,如果你用的是谷歌瀏覽器,在百度主頁(yè)打開(kāi)設(shè)置>更多工具>開(kāi)發(fā)者工具,點(diǎn)擊element,就可以看到了:在谷歌瀏覽器中查看HTML對(duì)比一下你就會(huì)知道,剛才通過(guò)python程序獲取到的HTML和網(wǎng)頁(yè)中的一樣!獲取了HTML之后,接下就要解析HTML了,因?yàn)槟阆胍奈谋?、圖片、視頻都藏在HTML里,你需要通過(guò)某種手段提取需要的數(shù)據(jù)。python同樣提供了非常多且強(qiáng)大的庫(kù)來(lái)幫助你解析HTML,這里以著名的python庫(kù)為工具來(lái)解析上面已經(jīng)獲取的HTML。是第三方庫(kù),需要安裝使用。在命令行用pip安裝就可以了:pip install 會(huì)將HTML內(nèi)容轉(zhuǎn)換成結(jié)構(gòu)化內(nèi)容,你只要從結(jié)構(gòu)化標(biāo)簽里面提取數(shù)據(jù)就OK了:比如,我想獲取百度首頁(yè)的標(biāo)題“百度一下,我就知道”,怎么辦呢?這個(gè)標(biāo)題是被兩個(gè)標(biāo)簽套住的,一個(gè)是一級(jí)標(biāo)簽,另一個(gè)是二級(jí)標(biāo)簽<title>,所以只要從標(biāo)簽中取出信息就可以了# 導(dǎo)入urlopen函數(shù) from urllib.request import urlopen # 導(dǎo)入 from bs4 import as bf # 請(qǐng)求獲取HTML html = urlopen(" # 用解析html obj = bf(html.read(),'html.parser') # 從標(biāo)簽head、title里提取標(biāo)題 title = obj.head.title # 打印標(biāo)題 print(title)看看結(jié)果:這樣就搞定了,成功提取出百度首頁(yè)的標(biāo)題。如果我想要下載百度首頁(yè)logo圖片呢?*步先獲取該網(wǎng)頁(yè)所有圖片標(biāo)簽和url,這個(gè)可以使用的findAll方法,它可以提取包含在標(biāo)簽里的信息。一般來(lái)說(shuō),HTML里所有圖片信息會(huì)在“img”標(biāo)簽里,所以我們通過(guò)findAll("img")就可以獲取到所有圖片的信息了。# 導(dǎo)入urlopen from urllib.request import urlopen # 導(dǎo)入 from bs4 import as bf # 請(qǐng)求獲取HTML html = urlopen(" # 用解析html obj = bf(html.read(),'html.parser') # 從標(biāo)簽head、title里提取標(biāo)題 title = obj.head.title # 使用find_all函數(shù)獲取所有圖片的信息 pic_info = obj.find_all('img') # 分別打印每個(gè)圖片的信息 for i in pic_info: print(i)看看結(jié)果:打印出了所有圖片的屬性,包括class(元素類名)、src(鏈接地址)、長(zhǎng)寬高等。其中有百度首頁(yè)logo的圖片,該圖片的class(元素類名)是index-logo-src。[<img class="index-logo-src" height="129" hidefocus="true" src="http://www.baidu.com/img/bd_logo1.png" usemap="#mp" width="270"/>, <img alt="到百度首頁(yè)" class="index-logo-src" src="http://www.baidu.com/img/baidu_jgylogo3.gif" title="到百度首頁(yè)"/>]可以看到圖片的鏈接地址在src這個(gè)屬性里,我們要獲取圖片鏈接地址:# 導(dǎo)入urlopen from urllib.request import urlopen # 導(dǎo)入 from bs4 import as bf # 請(qǐng)求獲取HTML html = urlopen(" # 用解析html obj = bf(html.read(),'html.parser') # 從標(biāo)簽head、title里提取標(biāo)題 title = obj.head.title # 只提取logo圖片的信息 logo_pic_info = obj.find_all('img',class_="index-logo-src") # 提取logo圖片的鏈接 logo_url = "https:"+logo_pic_info[0]['src'] # 打印鏈接 print(logo_url)結(jié)果:獲取地址后,就可以用urllib.函數(shù)下載logo圖片了# 導(dǎo)入urlopen from urllib.request import urlopen # 導(dǎo)入 from bs4 import as bf # 導(dǎo)入函數(shù),用于下載圖片 from urllib.request import # 請(qǐng)求獲取HTML html = urlopen(" # 用解析html obj = bf(html.read(),'html.parser') # 從標(biāo)簽head、title里提取標(biāo)題 title = obj.head.title # 只提取logo圖片的信息 logo_pic_info = obj.find_all('img',class_="index-logo-src") # 提取logo圖片的鏈接 logo_url = "https:"+logo_pic_info[0]['src'] # 使用下載圖片 (logo_url, 'logo.png')最終圖片保存在'logo.png'六、結(jié)語(yǔ)本文用爬取百度首頁(yè)標(biāo)題和logo圖片的案例,講解了python爬蟲(chóng)的基本原理以及相關(guān)python庫(kù)的使用,這是比較初級(jí)的爬蟲(chóng)知識(shí),還有很多優(yōu)秀的python爬蟲(chóng)庫(kù)和框架等待后續(xù)去學(xué)習(xí)。房子一層一層蓋,知識(shí)一點(diǎn)一點(diǎn)學(xué)。剛接觸Python的同學(xué)還是要打好基礎(chǔ),自己上手實(shí)操↓ 話不多說(shuō),上干貨!最近發(fā)現(xiàn)了一個(gè)接近免費(fèi)的Python課程,在網(wǎng)頁(yè)上教學(xué)基礎(chǔ)知識(shí)+實(shí)操代碼,比較適合小白學(xué)習(xí),比找資料自學(xué)高效多了。*分享給你們,點(diǎn)擊下面鏈接就可以領(lǐng)取!</p><h3>5.超牛逼!Python爬蟲(chóng)學(xué)習(xí)的完整路線推薦</h3><p>數(shù)據(jù)是決策的原材料,高質(zhì)量的數(shù)據(jù)價(jià)值不菲,如何挖掘原材料成為互聯(lián)網(wǎng)時(shí)代的先驅(qū),掌握信息的源頭,就能比別人更快一步。大數(shù)據(jù)時(shí)代,互聯(lián)網(wǎng)成為大量信息的載體,機(jī)械的復(fù)制粘貼不再實(shí)用,不僅耗時(shí)費(fèi)力還極易出錯(cuò),這時(shí)爬蟲(chóng)的出現(xiàn)解放了大家的雙手,以其高速爬行、定向抓取資源的能力獲得了大家的青睞。爬蟲(chóng)變得越來(lái)越流行,不僅因?yàn)樗軌蚩焖倥廊『A康臄?shù)據(jù),更因?yàn)橛衟ython這樣簡(jiǎn)單易用的語(yǔ)言使得爬蟲(chóng)能夠快速上手。對(duì)于小白來(lái)說(shuō),爬蟲(chóng)可能是一件非常復(fù)雜、技術(shù)門(mén)檻很高的事情,但掌握正確的方法,在短時(shí)間內(nèi)做到能夠爬取主流網(wǎng)站的數(shù)據(jù),其實(shí)非常容易實(shí)現(xiàn),但建議你從一開(kāi)始就要有一個(gè)具體的目標(biāo)。在目標(biāo)的驅(qū)動(dòng)下,你的學(xué)習(xí)才會(huì)更加精準(zhǔn)和高效。那些所有你認(rèn)為必須的前置知識(shí),都是可以在完成目標(biāo)的過(guò)程中學(xué)到的?;趐ython爬蟲(chóng),我們整理了一個(gè)完整的學(xué)習(xí)框架:篩選和甄別學(xué)習(xí)哪些知識(shí),在哪里去獲取資源是許多初學(xué)者共同面臨的問(wèn)題。接下來(lái),我們將學(xué)習(xí)框架進(jìn)行拆解,分別對(duì)每個(gè)部分進(jìn)行詳細(xì)介紹和推薦一些相關(guān)資源,告訴你學(xué)什么、怎么學(xué)、在哪里學(xué)。爬蟲(chóng)簡(jiǎn)介爬蟲(chóng)是一種按照一定的規(guī)則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本。這個(gè)定義看起來(lái)很生硬,我們換一種更好理解的解釋:我們作為用戶獲取網(wǎng)絡(luò)數(shù)據(jù)的方式是瀏覽器提交請(qǐng)求->下載網(wǎng)頁(yè)代碼->解析/渲染成頁(yè)面;而爬蟲(chóng)的方式是模擬瀏覽器發(fā)送請(qǐng)求->下載網(wǎng)頁(yè)代碼->只提取有用的數(shù)據(jù)->存放于數(shù)據(jù)庫(kù)或文件中。爬蟲(chóng)與我們的區(qū)別是,爬蟲(chóng)程序只提取網(wǎng)頁(yè)代碼中對(duì)我們有用的數(shù)據(jù),并且爬蟲(chóng)抓取速度快,量級(jí)大。隨著數(shù)據(jù)的規(guī)?;老x(chóng)獲取數(shù)據(jù)的高效性能越來(lái)越突出,能夠做的事情越來(lái)越多:市場(chǎng)分析:電商分析、商圈分析、一二級(jí)市場(chǎng)分析等市場(chǎng)監(jiān)控:電商、新聞、房源監(jiān)控等商機(jī)發(fā)現(xiàn):招投標(biāo)情報(bào)發(fā)現(xiàn)、客戶資料發(fā)掘、企業(yè)客戶發(fā)現(xiàn)等進(jìn)行爬蟲(chóng)學(xué)習(xí),首先要懂得是網(wǎng)頁(yè),那些我們?nèi)庋劭梢?jiàn)的光鮮亮麗的網(wǎng)頁(yè)是由HTML、css、等網(wǎng)頁(yè)源碼所支撐起來(lái)的。這些源碼被瀏覽器所識(shí)別轉(zhuǎn)換成我們看到的網(wǎng)頁(yè),這些源碼里面必定存在著很多規(guī)律,我們的爬蟲(chóng)就能按照這樣的規(guī)律來(lái)爬取需要的信息。無(wú)規(guī)矩不成方圓,Robots協(xié)議就是爬蟲(chóng)中的規(guī)矩,它告訴爬蟲(chóng)和搜索引擎哪些頁(yè)面可以抓取,哪些不可以抓取。通常是一個(gè)叫作robots.txt的文本文件,放在網(wǎng)站的根目錄下。輕量級(jí)爬蟲(chóng)“獲取數(shù)據(jù)——解析數(shù)據(jù)——存儲(chǔ)數(shù)據(jù)”是爬蟲(chóng)的三部曲,大部分爬蟲(chóng)都是按這樣的流程來(lái)進(jìn)行,這其實(shí)也是模擬了我們使用瀏覽器獲取網(wǎng)頁(yè)信息的過(guò)程。1、獲取數(shù)據(jù)爬蟲(chóng)*步操作就是模擬瀏覽器向服務(wù)器發(fā)送請(qǐng)求,基于python,你不需要了解從數(shù)據(jù)的實(shí)現(xiàn),HTTP、TCP、IP的網(wǎng)絡(luò)傳輸結(jié)構(gòu),一直到服務(wù)器響應(yīng)和應(yīng)達(dá)的原理,因?yàn)閜ython提供了功能齊全的類庫(kù)來(lái)幫我們完成這些請(qǐng)求。Python自帶的標(biāo)準(zhǔn)庫(kù)urllib2使用的較多,它是python內(nèi)置的HTTP請(qǐng)求庫(kù),如果你只進(jìn)行基本的爬蟲(chóng)網(wǎng)頁(yè)抓取,那么urllib2足夠用。Requests的slogen是“Requests is the only Non-GMO HTTP library for Python, safe for ”,相對(duì)urllib2,requests使用起來(lái)確實(shí)簡(jiǎn)潔很多,并且自帶json解析器。如果你需要爬取異步加載的動(dòng)態(tài)網(wǎng)站,可以學(xué)習(xí)瀏覽器抓包分析真實(shí)請(qǐng)求或者學(xué)習(xí)Selenium來(lái)實(shí)現(xiàn)自動(dòng)化。對(duì)于爬蟲(chóng)來(lái)說(shuō),在能夠爬取到數(shù)據(jù)地前提下當(dāng)然是越快越好,顯然傳統(tǒng)地同步代碼不能滿足我們對(duì)速度地需求。(ps:據(jù)國(guó)外數(shù)據(jù)統(tǒng)計(jì):正常情況下我們請(qǐng)求同一個(gè)頁(yè)面 100次的話,最少也得花費(fèi) 30秒,但使用異步請(qǐng)求同一個(gè)頁(yè)面 100次的話,只需要要 3秒左右。)aiohttp是你值得擁有的一個(gè)庫(kù),aiohttp的異步操作借助于async/await關(guān)鍵字的寫(xiě)法變得更加簡(jiǎn)潔,架構(gòu)更加清晰。使用異步請(qǐng)求庫(kù)進(jìn)行數(shù)據(jù)抓取時(shí),會(huì)大大提高效率。你可以根據(jù)自己的需求選擇合適的請(qǐng)求庫(kù),但建議先從python自帶的urllib開(kāi)始,當(dāng)然,你可以在學(xué)習(xí)時(shí)嘗試所有的方式,以便更了解這些庫(kù)的使用。推薦請(qǐng)求庫(kù)資源:urllib2文檔: : 、JSON、XML等格式。解析庫(kù)的使用等價(jià)于在HTML中查找需要的信息時(shí)時(shí)使用正則,能夠更加快捷地定位到具體的元素獲取相應(yīng)的信息。Css選擇器是一種快速定位元素的方法。Pyqurrey使用lxml解析器進(jìn)行快速在xml和html文檔上操作,它提供了和jQuery類似的語(yǔ)法來(lái)解析HTML文檔,支持CSS選擇器,使用非常方便。Beautiful Soup是借助網(wǎng)頁(yè)的結(jié)構(gòu)和屬性等特性來(lái)解析網(wǎng)頁(yè)的工具,能自動(dòng)轉(zhuǎn)換編碼。支持Python標(biāo)準(zhǔn)庫(kù)中的HTML解析器,還支持一些第三方的解析器。Xpath最初是用來(lái)搜尋XML文檔的,但是它同樣適用于HTML文檔的搜索。它提供了超過(guò) 100 個(gè)內(nèi)建的函數(shù)。這些函數(shù)用于字符串值、數(shù)值、日期和時(shí)間比較、節(jié)點(diǎn)和 QName 處理、序列處理、邏輯值等等,并且XQuery和XPointer都構(gòu)建于XPath基礎(chǔ)上。Re正則表達(dá)式通常被用來(lái)檢索、替換那些符合某個(gè)模式(規(guī)則)的文本。個(gè)人認(rèn)為前端基礎(chǔ)比較扎實(shí)的,用pyquery是最方便的,也不錯(cuò),re速度比較快,但是寫(xiě)正則比較麻煩。當(dāng)然了,既然用python,肯定還是自己用著方便*。推薦解析器資源:pyquery 作為關(guān)系型數(shù)據(jù)庫(kù)的代表,擁有較為成熟的體系,成熟度很高,可以很好地去存儲(chǔ)一些數(shù)據(jù),但在在海量數(shù)據(jù)處理的時(shí)候效率會(huì)顯著變慢,已然滿足不了某些大數(shù)據(jù)的處理要求。MongoDB已經(jīng)流行了很長(zhǎng)一段時(shí)間,相對(duì)于MySQL ,MongoDB可以方便你去存儲(chǔ)一些非結(jié)構(gòu)化的數(shù)據(jù),比如各種評(píng)論的文本,圖片的鏈接等等。你也可以利用PyMongo,更方便地在Python中操作MongoDB。因?yàn)檫@里要用到的數(shù)據(jù)庫(kù)知識(shí)其實(shí)非常簡(jiǎn)單,主要是數(shù)據(jù)如何入庫(kù)、如何進(jìn)行提取,在需要的時(shí)候再學(xué)習(xí)就行。Redis是一個(gè)不折不扣的內(nèi)存數(shù)據(jù)庫(kù),Redis 支持的數(shù)據(jù)結(jié)構(gòu)豐富,包括hash、set、list等。數(shù)據(jù)全部存在內(nèi)存,訪問(wèn)速度快,可以存儲(chǔ)大量的數(shù)據(jù),一般應(yīng)用于分布式爬蟲(chóng)的數(shù)據(jù)存儲(chǔ)當(dāng)中。推薦數(shù)據(jù)庫(kù)資源:mysql文檔 redis文檔 selector 能夠方便地解析 response,然而它最讓人驚喜的還是它超高的性能,讓你可以將爬蟲(chóng)工程化、模塊化。學(xué)會(huì)scrapy,你可以自己去搭建一些爬蟲(chóng)框架,你就基本具備爬蟲(chóng)工程師的思維了。*Pyspider作為人氣飆升的國(guó)內(nèi)大神開(kāi)發(fā)的框架,滿足了絕大多數(shù)Python爬蟲(chóng)的需求 —— 定向抓取,結(jié)構(gòu)化化解析。它能在瀏覽器界面上進(jìn)行腳本的編寫(xiě),功能的調(diào)度和爬取結(jié)果的實(shí)時(shí)查看,后端使用常用的數(shù)據(jù)庫(kù)進(jìn)行爬取結(jié)果的存儲(chǔ)等。其功能強(qiáng)大到更像一個(gè)產(chǎn)品而不是一個(gè)框架。這是三個(gè)最有代表性的爬蟲(chóng)框架,它們都有遠(yuǎn)超別人的有點(diǎn),比如Nutch天生的搜索引擎解決方案、Pyspider產(chǎn)品級(jí)的WebUI、Scrapy最靈活的定制化爬取。建議先從最接近爬蟲(chóng)本質(zhì)的框架scary學(xué)起,再去接觸人性化的Pyspider,為搜索引擎而生的Nutch。推薦爬蟲(chóng)框架資源:Nutch文檔 scary文檔 pyspider文檔 爬取基本數(shù)據(jù)已經(jīng)沒(méi)有問(wèn)題,還能使用框架來(lái)面對(duì)一寫(xiě)較為復(fù)雜的數(shù)據(jù),此時(shí),就算遇到反爬,你也掌握了一些反反爬技巧。你的瓶頸會(huì)集中到爬取海量數(shù)據(jù)的效率,這個(gè)時(shí)候相信你會(huì)很自然地接觸到一個(gè)很厲害的名字:分布式爬蟲(chóng)。分布式這個(gè)東西,聽(tīng)起來(lái)很恐怖,但其實(shí)就是利用多線程的原理將多臺(tái)主機(jī)組合起來(lái),共同完成一個(gè)爬取任務(wù),需要你掌握 Scrapy +Redis+MQ+Celery這些工具。Scrapy 前面我們說(shuō)過(guò)了,用于做基本的頁(yè)面爬取, Redis 則用來(lái)存儲(chǔ)要爬取的網(wǎng)頁(yè)隊(duì)列,也就是任務(wù)隊(duì)列。scarpy-redis就是用來(lái)在scrapy中實(shí)現(xiàn)分布式的組件,通過(guò)它可以快速實(shí)現(xiàn)簡(jiǎn)單分布式爬蟲(chóng)程序。由于在高并發(fā)環(huán)境下,由于來(lái)不及同步處理,請(qǐng)求往往會(huì)發(fā)生堵塞,通過(guò)使用消息隊(duì)列MQ,我們可以異步處理請(qǐng)求,從而緩解系統(tǒng)的壓力。RabbitMQ本身支持很多的協(xié)議:AMQP,XMPP, SMTP,STOMP,使的它變的非常重量級(jí),更適合于企業(yè)級(jí)的開(kāi)發(fā)。Scrapy-rabbitmq-link是可以讓你從RabbitMQ 消息隊(duì)列中取到URL并且分發(fā)給Scrapy spiders的組件。Celery是一個(gè)簡(jiǎn)單、靈活且可靠的,處理大量消息的分布式系統(tǒng)。支持 RabbitMQ、Redis 甚至其他數(shù)據(jù)庫(kù)系統(tǒng)作為其消息代理中間件, 在處理異步任務(wù)、任務(wù)調(diào)度、處理定時(shí)任務(wù)、分布式調(diào)度等場(chǎng)景表現(xiàn)良好。所以分布式爬蟲(chóng)只是聽(tīng)起來(lái)有些可怕,也不過(guò)如此。當(dāng)你能夠?qū)懛植际降呐老x(chóng)的時(shí)候,那么你可以去嘗試打造一些基本的爬蟲(chóng)架構(gòu)了,實(shí)現(xiàn)一些更加自動(dòng)化的數(shù)據(jù)獲取。推薦分布式資源:scrapy-redis文檔 </p><p>就拿大數(shù)據(jù)說(shuō)話,優(yōu)勢(shì)一目了然,從事IT行業(yè),打開(kāi)IT行業(yè)的新大門(mén),找到適合自己的培訓(xùn)機(jī)構(gòu),進(jìn)行專業(yè)和系統(tǒng)的學(xué)習(xí)。</p></div> </div> <div class="quchnye" id="content" class="content"> <div id="yclwdnr" class="kccontentss"> <h3> <ul class="navss" role="tablist"> <li id="hnuzfpu" class="active"><a href="#Section2" data-toggle="tab">課程介紹</a></li> </ul> </h3> <script type="text/javascript" src="https://fb5.fangxinxue.net/plan/js/202105/27/25.js"></script> </div> <p class="class-pp">本文由 <a href="http://bceiu.cn/jigou/ms-qgpythonxxzx/" target="_blank" title="全國(guó)python學(xué)習(xí)中心" style="color:#FF6700;">全國(guó)python學(xué)習(xí)中心</a> 整理發(fā)布。更多培訓(xùn)課程,學(xué)習(xí)資訊,課程優(yōu)惠,課程開(kāi)班,學(xué)校地址等學(xué)校信息,可以留下你的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:<br> 咨詢電話:<strong>400-850-8622 </strong> </p> <div id="mrdilte" class="wrapper_new"> <span style="width: 100%;float: left;padding-top: 20px;">如果本頁(yè)不是您要找的課程,您也可以百度查找一下:</span> <a id="result_logo"><img class="index-logo-src" src="https://imgs.edutt.com/skin/xxxx/image/result.png" alt="到百度首頁(yè)" title="到百度首頁(yè)"></a> <span id="bxkwfmx" class="bg s_ipt_wr quickdelete-wrap"> <span id="oodugou" class="soutu-btn"></span> <input id="kw" name="wd" class="s_ipt" value="Python培訓(xùn)" maxlength="255" autocomplete="off"> <span id="jcqhoal" class="bg s_btn_wr"><a target="_blank" rel="nofollow"><input type="submit" id="su" value="百度一下" class="bg s_btn"></a></span> </span> </div> </div> <div id="mhpxgno" class="relevant"> <div id="gygqxcc" class="title-B3"><span>相關(guān)文章</span></div> <div id="nhlvckw" class="class-list-right_con classListCon_01"> <div id="eziwegl" class="clearfix"> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_1857301/" title="python爬蟲(chóng)基礎(chǔ),python各類爬蟲(chóng)經(jīng)典案例,爬到你手軟!"> <div id="kivgqoa" class="fr"> <div id="lkmeszk" class="h_title">python爬蟲(chóng)基礎(chǔ),python各類爬蟲(chóng)經(jīng)典案例,爬到你手軟!</div> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_1861197/" title="python零基礎(chǔ)爬蟲(chóng),(爬蟲(chóng)基礎(chǔ)篇)零基礎(chǔ)——Python 爬蟲(chóng)獲取上萬(wàn)條論文數(shù)據(jù)"> <div id="fnntcnu" class="fr"> <div id="vbgtktc" class="h_title">python零基礎(chǔ)爬蟲(chóng),(爬蟲(chóng)基礎(chǔ)篇)零基礎(chǔ)——Python 爬蟲(chóng)獲取上萬(wàn)條論文數(shù)據(jù)</div> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_1867840/" title="python爬蟲(chóng)基礎(chǔ)入門(mén),小白如何入門(mén) Python 爬蟲(chóng)?"> <div id="gbgspvt" class="fr"> <div id="zwfvbkt" class="h_title">python爬蟲(chóng)基礎(chǔ)入門(mén),小白如何入門(mén) Python 爬蟲(chóng)?</div> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_1888321/" title="python爬蟲(chóng)入門(mén)教程,零基礎(chǔ)小白學(xué)Python,從爬蟲(chóng)入手簡(jiǎn)單易懂好操作!"> <div id="dflvbos" class="fr"> <div id="msfkybm" class="h_title">python爬蟲(chóng)入門(mén)教程,零基礎(chǔ)小白學(xué)Python,從爬蟲(chóng)入手簡(jiǎn)單易懂好操作!</div> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_2001062/" title="石家莊python爬蟲(chóng)培訓(xùn)班(Python基礎(chǔ)語(yǔ)法)"> <div id="rlzkqvz" class="fr"> <div id="rvipzai" class="h_title">石家莊python爬蟲(chóng)培訓(xùn)班(Python基礎(chǔ)語(yǔ)法)</div> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_2217995/" title="石家莊有沒(méi)有爬蟲(chóng)培訓(xùn)(零基礎(chǔ)能學(xué)python嗎)"> <div id="noaciqy" class="fr"> <div id="ihlzdiv" class="h_title">石家莊有沒(méi)有爬蟲(chóng)培訓(xùn)(零基礎(chǔ)能學(xué)python嗎)</div> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_2266590/" title="石家莊學(xué)爬蟲(chóng)多少錢(零基礎(chǔ)能學(xué)python嗎)"> <div id="jovhqxa" class="fr"> <div id="qnemveo" class="h_title">石家莊學(xué)爬蟲(chóng)多少錢(零基礎(chǔ)能學(xué)python嗎)</div> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_3106552/" title="石家莊長(zhǎng)安區(qū)學(xué)Python爬蟲(chóng)多少錢(Python基礎(chǔ)語(yǔ)法)"> <div id="vcozfra" class="fr"> <div id="faflraj" class="h_title">石家莊長(zhǎng)安區(qū)學(xué)Python爬蟲(chóng)多少錢(Python基礎(chǔ)語(yǔ)法)</div> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_3409093/" title="石家莊長(zhǎng)安區(qū)Python爬蟲(chóng)培訓(xùn)價(jià)格(Python基礎(chǔ)語(yǔ)法)"> <div id="sowagqv" class="fr"> <div id="wxgmvdl" class="h_title">石家莊長(zhǎng)安區(qū)Python爬蟲(chóng)培訓(xùn)價(jià)格(Python基礎(chǔ)語(yǔ)法)</div> </div> </a> </div> </div> </div> <br/> </div> </div> <aside class="class-list-right fr"> <style> .countdown span{font-size: 32px;} .ts_box{width:400px;height:80px;line-height:80px;color:#fff;position:fixed;left:calc((100% - 400px) / 2);top:400px;background:rgba(0,0,0,0.8);text-align:center;z-index:999999;display:none;} .apTopDiv { width: 400px; height: 430px; display: none; } </style> <div id="ghoakry" class="apTopDiv" style="display: none;"></div> <div id="qpzepbo" class="course-right"> <div id="jlulqxf" class="contact" style="z-index:999;"> <div id="mpvxmky" class="test-title">在線報(bào)名</div> <div id="edlbowz" class="note">免費(fèi)體驗(yàn)課開(kāi)辦倒計(jì)時(shí)</div> <div id="oosybfs" class="countdown"><span id="kbjqglu" class="JS-shi">11</span>:<span id="tnfiqdh" class="JS-fen">59</span>:<span id="ttfpdmr" class="JS-miao">38</span></div> <form name="bmform" id="bmform" method="post"> <input name="kcname" value="python爬蟲(chóng)基礎(chǔ)教程,Python 爬蟲(chóng)工具" type="hidden"> <input name="itemid" value="1878657" type="hidden"> <input name="linkurl" value="http://bceiu.cn/news_show_1878657" type="hidden"> <input name="uname" value="qgpythonxxzx" type="hidden"> <input name="isvip" value="1" type="hidden"> <ul> <li><input type="text" name="truename" placeholder="請(qǐng)輸入您的姓名" id="contact-name"/></li> <li><input type="text" name="mobile" placeholder="請(qǐng)輸入您的電話" id="contact-phone"/></li> </ul> <button type="button" id="sub">預(yù)約試聽(tīng)</button> </form> <div id="xdmxepb" class="note more">稍后會(huì)有專業(yè)老師給您回電,請(qǐng)保持手機(jī)暢通</div> <div id="iqvfnte" class="contact-info"> <div id="kptsviy" class="tel">咨詢電話:400-850-8622</div> <a target="_blank"><button class="btn"></button></a> </div> </div> </div> <div id="igxgova" class="ts_box" id="error1">姓名不能為空</div> <div id="joxhpbn" class="ts_box" id="error2">手機(jī)號(hào)格式錯(cuò)誤</div> <script type="text/javascript"> var s = 0; $("#sub").click(function(){ var l; l = $("#contact-name").val().length; if(l < 2) { $("#error1").show(); setTimeout(function(){$("#error1").hide();},2000); $("#contact-name").focus(); return false; } var mobile = $.trim($("#contact-phone").val()); if(mobile == "") { $("#error2").show(); setTimeout(function(){$("#error2").hide();},2000); $("#contact-phone").focus(); return false; } if(!isPhone(mobile)) { $("#error2").show(); $("#contact-phone").focus(); return false; } if(s==1){ alert('不要重復(fù)提交'); return false; } s = 1; var url = "http://bceiu.cn/api/baoming.php"; $.post(url, $('#bmform').serialize(), function(data){ if(data==1) { alert('報(bào)名成功'); }else { alert(data); } }); }); function isPhone(strRegex) { var reg = /^1(3|4|5|6|7|8|9)\d{9}$/; return reg.test(strRegex); } </script> <script> (function () { var shi = document.getElementsByClassName('JS-shi')[0]; var fen = document.getElementsByClassName('JS-fen')[0]; var miao = document.getElementsByClassName('JS-miao')[0]; var endTime = Date.now() + 86400000; var interval = null; interval = setInterval(function () { var syhm = endTime - Date.now(); // 剩余毫秒 if (syhm >= 0) { shi.innerText = checkTime(Math.floor(syhm / 1000 / 60 / 60 % 24)); fen.innerText = checkTime(Math.floor(syhm / 1000 / 60 % 60)); miao.innerText = checkTime(Math.floor(syhm / 1000 % 60)); } else { clearInterval(interval); } }, 0); })(); function checkTime(i) { //將0-9的數(shù)字前面加上0,例1變?yōu)?1 if (i < 10) { i = "0" + i; } return i; } </script> <div id="drijnyf" class="mgt" style="position: relative;margin-top: 20px;"> <div id="zrohlyx" class="classList_tit" style="height:30px;margin-top:20px;margin-bottom:20px;"> <ul class="clearfix"> <li id="nnhucec" class="li01 active">作者最新文章</li> </ul> </div> </div> <div id="qqknabz" class="class-list-right_con classListCon_01"> <div id="clznarp" class="clearfix"> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_1821792/" title="python好不好,鄭多燕減肥操中文版全集下載"> <div id="tedlrwc" class="fr"> <div id="ooyhorb" class="h_title">python好不好,鄭多燕減肥操中文版全集下載</div> <span>來(lái)源:最新文章</span> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_7638926/" title="怎么升級(jí)python"> <div id="gfhthrw" class="fr"> <div id="tmnxhsa" class="h_title">怎么升級(jí)python</div> <span>來(lái)源:最新文章</span> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_7638439/" title="python實(shí)訓(xùn)"> <div id="oodqycn" class="fr"> <div id="budmpbg" class="h_title">python實(shí)訓(xùn)</div> <span>來(lái)源:最新文章</span> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_7637871/" title="python學(xué)需要什么"> <div id="abjmouh" class="fr"> <div id="hafmvzz" class="h_title">python學(xué)需要什么</div> <span>來(lái)源:最新文章</span> </div> </a> <a class="a-new-class clearfix" href="http://bceiu.cn/news_show_7619570/" title="python網(wǎng)站"> <div id="dehrdip" class="fr"> <div id="wyyfnsd" class="h_title">python網(wǎng)站</div> <span>來(lái)源:最新文章</span> </div> </a> </div> </div> </aside> </section> <footer class="width_all qinxue-footer"> <div id="tlsbmou" class="width_main qinxue-p"> <p class="qx-p1"> 全國(guó)python學(xué)習(xí)中心  |  <a href="http://bceiu.cn/jigou/ms-qgpythonxxzx/about.html">關(guān)于我們</a>  |  <a href="http://bceiu.cn/jigou/ms-qgpythonxxzx/contact.html" >聯(lián)系我們</a></p> <p class="qx-p2"> 全國(guó)python學(xué)習(xí)中心2024@版權(quán)所有</p> <p class="qx-p3"> <a href="http://bceiu.cn/jg.htm" target="_blank" title="新入駐機(jī)構(gòu)">新機(jī)構(gòu)</a>    <a href="http://bceiu.cn/ke.htm" target="_blank" title="新發(fā)布課程">新課程</a>    <a href="http://bceiu.cn/xin.htm" target="_blank" title="新發(fā)布資訊">新文章</a>    <a href="http://bceiu.cn/wen.htm" target="_blank" title="新發(fā)布資訊">新問(wèn)答</a>    <a href="http://bceiu.cn/peixun/" target="_blank" title="新發(fā)布資訊">新專題</a>    <a href="http://bceiu.cn/zhishi/" target="_blank" title="新發(fā)布資訊">新聚合</a>    <a href="http://bceiu.cn/sitemap/" target="_blank">網(wǎng)站地圖</a> </p> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://#/hm.js?da6504ecb332fc4923ccf14d225be14d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); $(function() { $(".yh_conct").hover(function() { $(".yh_conct").css("right", "5px"); $(".yh_bar .yh_ercode").css('height', '200px'); }, function() { $(".yh_conct").css("right", "-127px"); $(".yh_bar .yh_ercode").css('height', '53px'); }); $(".yh_top").click(function() { $("html,body").animate({ 'scrollTop': '0px' }, 300) }); }); $(function(){ $("img").lazyload({ placeholder : "https://img.alicdn.com/imgextra/i2/411980463/O1CN0139i42e1FI5u6RlBgQ_!!411980463.png", //用圖片提前占位 effect: "fadeIn", threshold: 200, failurelimit : 20 }); }); GoMobile('https://m.edutt.com/news_show_1878657/'); </script> <script>(function() {var _53code = document.createElement("script");_53code.src = "https://tb.53kf.com/code/code/20422cdb9dfb57a3b487b335ad2f404d0/1";var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(_53code, s);})();</script> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://bceiu.cn/" title="在线播放国产精品一品道综合">在线播放国产精品一品道综合</a> <div class="friend-links"> </div> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="mvkak" class="pl_css_ganrao" style="display: none;"><small id="mvkak"></small><address id="mvkak"></address><option id="mvkak"><s id="mvkak"><ins id="mvkak"><menu id="mvkak"></menu></ins></s></option><mark id="mvkak"></mark><tbody id="mvkak"><u id="mvkak"></u></tbody><video id="mvkak"><menu id="mvkak"><wbr id="mvkak"><rp id="mvkak"></rp></wbr></menu></video><ruby id="mvkak"></ruby><abbr id="mvkak"><legend id="mvkak"><option id="mvkak"></option></legend></abbr><code id="mvkak"></code><dl id="mvkak"></dl><ol id="mvkak"><abbr id="mvkak"><dl id="mvkak"></dl></abbr></ol><listing id="mvkak"></listing><tfoot id="mvkak"></tfoot><thead id="mvkak"><small id="mvkak"></small></thead><progress id="mvkak"></progress><ins id="mvkak"><var id="mvkak"><xmp id="mvkak"></xmp></var></ins><blockquote id="mvkak"><listing id="mvkak"></listing></blockquote><option id="mvkak"></option><tr id="mvkak"><span id="mvkak"><small id="mvkak"></small></span></tr><menuitem id="mvkak"></menuitem><delect id="mvkak"></delect><dl id="mvkak"></dl><track id="mvkak"><delect id="mvkak"><var id="mvkak"></var></delect></track><pre id="mvkak"></pre><acronym id="mvkak"></acronym><font id="mvkak"><fieldset id="mvkak"><em id="mvkak"><code id="mvkak"></code></em></fieldset></font><dl id="mvkak"><ul id="mvkak"><label id="mvkak"><kbd id="mvkak"></kbd></label></ul></dl><em id="mvkak"><rt id="mvkak"></rt></em><i id="mvkak"></i><samp id="mvkak"><dfn id="mvkak"><dd id="mvkak"></dd></dfn></samp><ruby id="mvkak"></ruby><legend id="mvkak"></legend><center id="mvkak"><del id="mvkak"><dl id="mvkak"><ul id="mvkak"></ul></dl></del></center><td id="mvkak"><listing id="mvkak"><samp id="mvkak"></samp></listing></td><ins id="mvkak"></ins><pre id="mvkak"><tr id="mvkak"><fieldset id="mvkak"></fieldset></tr></pre><center id="mvkak"><pre id="mvkak"></pre></center><bdo id="mvkak"><em id="mvkak"><code id="mvkak"><strike id="mvkak"></strike></code></em></bdo><form id="mvkak"></form><li id="mvkak"></li><track id="mvkak"><source id="mvkak"></source></track><span id="mvkak"><small id="mvkak"><form id="mvkak"></form></small></span><del id="mvkak"></del><blockquote id="mvkak"></blockquote><nobr id="mvkak"></nobr><delect id="mvkak"><th id="mvkak"><acronym id="mvkak"><strong id="mvkak"></strong></acronym></th></delect><noframes id="mvkak"><source id="mvkak"><ruby id="mvkak"><listing id="mvkak"></listing></ruby></source></noframes><strong id="mvkak"></strong><strong id="mvkak"></strong><optgroup id="mvkak"></optgroup></div> </html>