孤荷凌寒自學python第六十七天初步瞭解Python爬蟲初識requests模塊html
(完整學習過程屏幕記錄視頻地址在文末)python
從今天起開始正式學習Python的爬蟲。編程
今天已經初步瞭解了兩個主要的模塊:網絡
requests編程語言
BeautifulSoupide
1、主要模塊的安裝學習
(一)requests測試
pip install requestsurl
(若是失敗,多試幾回便可).net
(二)BeautifulSoup
pip install BeautifulSoup4
BeautifulSoup4已經指明瞭模塊的版本號
2、搜索相關資料進行初步學習瞭解
發現如下幾個網絡資料不錯:(感謝這些網文做者的無私分享)
第一個,做者比較全面的分享了,不過發現講得太大概了一點,理解起來比較難。
http://www.cnblogs.com/kmonkeywyl/p/8409715.html
http://www.javashuo.com/article/p-ximnxgfa-c.html
http://www.cnblogs.com/kmonkeywyl/p/8435533.html
第二個,Beautiful Soup 4.2.0的文檔
https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
https://blog.csdn.net/u010646415/article/details/79421790
3、上手個人第一個測試
是參照如下網文進行的:(謝謝原做者的奉獻)
https://blog.csdn.net/qq_42787271/article/details/81571229
果真先是見識了,不指定【header】頭說明的狀況下,遭遇403代碼返回的問題,而後,加上了【header】頭說明,就成功了。
測試代碼以下:
```
import requests
from bs4 import BeautifulSoup
import _mty
def msgbox(info,titletext='孤荷凌寒的DB模塊對話框QQ578652607',style=0,isShowErrMsg=False):
return _mty.msgboxGhlh(info,titletext,style,isShowErrMsg)
def myfirst(s,h):
r=requests.get(s,headers=h)
#print(r.text) #r.text獲得的是頁面源html代碼
formattxt=BeautifulSoup(r.text,features="html.parser") #第二個參數指明瞭解析器
#print(formattxt)
data=formattxt.find_all('a')
for i in data:
msgbox(i.get('href'))
strurl='http://www.dianping.com/'
header={
'Host':'www.dianping.com',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}
myfirst(strurl,header)
```
(詳細測試過程見個人屏幕錄製)
不過:
formattxt=BeautifulSoup(r.text,features="html.parser")
這一行語句獲得的
formattxt
中的文本格式也並非如資料上所說的那樣,是很是工整漂亮 的html編排好的格式。
獲得的formattxt這個對象——
有不少方法和屬性,今天只是初略的閱讀了一下這些資料,尚未徹底理解,將在接下來的時間中慢慢學習掌握。
今天就學習到這兒,感受爬蟲還不是想象中的那麼難。
——————————
今天整理的學習筆記完成,最後例行說明下個人自學思路:
根據過去多年我自學各類編程語言的經歷,認爲只有真正體驗式,解決實際問題式的學習纔會有真正的效果,即讓學習實際發生。在2004年的時候我開始在一個鄉村小學自學電腦 並學習vb6編程語言,沒有學習同伴,也沒有高師在上,甚至電腦都是孤島(鄉村那時尚未網絡),有的只是一本舊書,在痛苦的自學摸索中,我找到適應本身零基礎的學習方法:首先是每讀書的一小節就做相應的手寫筆記,第二步就是上機測試每個筆記內容是否實現,其中會發現書中講的其實有出入或錯誤,第三步就是在上機測試以後,將筆記改成電子版,造成最終的修訂好的正確無誤的學習筆記 。
經過反覆嘗試錯誤,在那個沒有分享與交流的黑暗時期我摸黑學會了VB6,爾後接觸了其它語言,也曾聽過付費視頻課程,結果發現也許本身學歷果真過低,就算是零基礎的入門課程,其實也難以跟上進度,講師的教學多數出現對初學者的實際狀況並不瞭解的狀況,何況學習者的個體也存在差別呢?固然更可怕的是收費課程的價格每每是本身難以承受的。
因而個人全部編程學習都改成了自學,繼續本身的三步學習筆記法的學習之路。
固然自學的最大問題是會走那麼多的彎路,沒有導師直接輸入式的教學來得直接,好在網絡給咱們帶來無限搜索的機會,你們在網絡上的學習日誌帶給咱們共享交流的機會,而QQ羣等交流平臺、網絡社區的成立,咱們能夠一塊兒自學,互相批評交流,也能夠得到更有效,更自主的自學成果。
因而我以人生已過半的年齡,決定繼續個人編程自學之路,開始學習python,只但願與你們共同交流,一我的的獨行是可怕的,只有一羣人的共同前進纔是有但願的。
誠摯期待您的交流分享批評指點!歡迎聯繫我加入從零開始的自學聯盟。
這個時代互聯網成爲了一種基礎設施的存在,因而原本在孤獨學習之路上的咱們變得再也不孤獨,由於網絡就是一個新的客廳,咱們時刻均可以進行沙龍活動。
很是樂意能與你們一塊兒交流本身自學心得和發現,更但願你們可以對我學習過程當中的錯誤給予指點——是的,這樣我就能有許多免費的高師了——這也是分享時代,社區時代帶來的好福利,我相信你們會的,是吧!
根據徹底共享的精神,開源互助的理念,個人我的自學錄製過程是所有按4K高清視頻錄製的,從手寫筆記到驗證手寫筆記的上機操做過程全程錄製,但由於4K高清文件太大均超過5G以上,因此沒法上傳至網絡,若有須要可聯繫我QQ578652607對傳,樂意分享。上傳分享到百度網盤的只是壓縮後的720P的視頻。
個人學習過程錄像百度盤地址分享以下:(清晰度:1280x720)
連接:https://pan.baidu.com/s/1rlc02oDGXZRYkM_Bi1orpg
提取碼:qzgv
Bilibili:
https://www.bilibili.com/video/av40360342/
喜馬拉雅語音筆記: