python使用requests+re簡單入門爬蟲

戳上面的藍字關注咱們哦!



學習了python基礎後,一心想着快速入門爬蟲,由於我就是爲爬蟲而學的python,因此就找了這個豆瓣電影來爬取。好了,廢話很少說,進入正題html


1.找到網頁並分析網頁結構
python


首先進入豆瓣電影Top250這個網頁,按下f12打開開發者工具,以下圖mysql



而後開始分析網頁,點擊開發者工具左上角的有個箭頭的東西去找你須要找的數據,在這裏我發現每一個電影的信息都是在<li>的標籤內,因此能夠用正則表達式來先提取每個電影,而後在分別提取每一個電影中的數據。每一個電影如今的數據均可以獲取了,可是這個url只有25個電影,怎樣獲取下一頁的呢?這裏咱們能夠在每一個頁面獲取下一頁的連接,而後經過循環來繼續獲取下一頁的電影數據便可web


咱們能夠先用開發者工具的箭頭點一下後頁,而後就顯示右邊的箭頭數據出來,這裏咱們也能夠用正則表達式來獲取下一頁的連接,而後接下來的工做就是循環了,好了分析結束,開始敲代碼吧!正則表達式


2.用面向對象的方法進行爬取數據sql


  • 先用requests對網頁進行請求,獲取網頁的html結構,在這裏,爲了防止網頁的反爬蟲技術,我加了個請求頭(記得使用requests庫以前先導入,沒有的能夠在命令行經過 pip install requests 進行下載)數據庫


    請求頭在開發者工具中查看,以下圖所示微信



  • 接下用正則表達式進行獲取數據工具


    先匹配每個電影和每一頁數據(使用正則表達式的庫是re)學習


    接下來獲取每一個電影的數據


    注意:獲取到上面的數據,有的是空的,因此還須要進行判斷是否爲空,爲了好看,我用了三元表達式進行判斷,完成以後把他們存入字典


  • 接下來就是進行循環取下一頁的數據了


3.若是你有點數據庫基礎的話,還能夠把他們存入數據庫,在這裏我把這些數據存入MySQL數據庫,代碼以下,須要本身先建好數據庫好表格


  • 這是操做數據庫的類(使用的庫爲pymysql)


  • 而後回到爬蟲類進行把數據存入數據庫



4.成功後你就會在數據庫中查到如下數據


END

最後,很是感謝你看完了這篇文章,喜歡的話,能夠點下關注,轉發點贊下,或者有什麼問題的話歡迎在留言區留言,我會認真回答的。


ps:若是須要完整代碼的話能夠在後臺回覆top250便可,或者想要什麼學習資源也能夠後臺找我哦





本文分享自微信公衆號 - 平常學python(daily_learn)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索