
1.找到網頁並分析網頁結構
python
首先進入豆瓣電影Top250這個網頁,按下f12打開開發者工具,以下圖mysql
而後開始分析網頁,點擊開發者工具左上角的有個箭頭的東西去找你須要找的數據,在這裏我發現每一個電影的信息都是在<li>的標籤內,因此能夠用正則表達式來先提取每個電影,而後在分別提取每一個電影中的數據。每一個電影如今的數據均可以獲取了,可是這個url只有25個電影,怎樣獲取下一頁的呢?這裏咱們能夠在每一個頁面獲取下一頁的連接,而後經過循環來繼續獲取下一頁的電影數據便可web
咱們能夠先用開發者工具的箭頭點一下後頁,而後就顯示右邊的箭頭數據出來,這裏咱們也能夠用正則表達式來獲取下一頁的連接,而後接下來的工做就是循環了,好了分析結束,開始敲代碼吧!正則表達式
2.用面向對象的方法進行爬取數據sql
先用requests對網頁進行請求,獲取網頁的html結構,在這裏,爲了防止網頁的反爬蟲技術,我加了個請求頭(記得使用requests庫以前先導入,沒有的能夠在命令行經過 pip install requests 進行下載)數據庫
請求頭在開發者工具中查看,以下圖所示微信
接下用正則表達式進行獲取數據工具
先匹配每個電影和每一頁數據(使用正則表達式的庫是re)學習
接下來獲取每一個電影的數據
注意:獲取到上面的數據,有的是空的,因此還須要進行判斷是否爲空,爲了好看,我用了三元表達式進行判斷,完成以後把他們存入字典
接下來就是進行循環取下一頁的數據了
3.若是你有點數據庫基礎的話,還能夠把他們存入數據庫,在這裏我把這些數據存入MySQL數據庫,代碼以下,須要本身先建好數據庫好表格
這是操做數據庫的類(使用的庫爲pymysql)
而後回到爬蟲類進行把數據存入數據庫
4.成功後你就會在數據庫中查到如下數據
最後,很是感謝你看完了這篇文章,喜歡的話,能夠點下關注,轉發點贊下,或者有什麼問題的話歡迎在留言區留言,我會認真回答的。
本文分享自微信公衆號 - 平常學python(daily_learn)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。