最近,《青春有你2》開播,隔幾天就上一次熱搜,到了幾乎全民討論的地步。其中許多的選手不論是美貌還是才藝都十分出彩。
追星的你可能很難把所有人的信息都全部瞭解,更是難以蒐集欣賞所有漂亮小姐姐美麗的相片。
那麼接下來我將告訴你如何一鍵get《青你2》中所有小姐姐的信息和照片!
使用工具
為了獲取大量的互聯網數據,我們自然想到使用爬蟲代替我們完成這些重複的工作。
爬蟲的過程,就是模仿瀏覽器的行為,往目標站點發送請求,接收服務器的響應數據,提取需要的信息,並進行保存的過程。
Python為爬蟲的實現提供了工具:requests模塊、BeautifulSoup庫。
接下來我們就會使用這些工具來獲取我們想要的信息。
任務描述
本次實踐使用Python來爬取百度百科中《青春有你2》所有參賽選手的信息。
數據獲取:
https://baike.baidu.com/item/青春有你第二季
上網的全過程
普通用戶:
打開瀏覽器 --> 往目標站點發送請求 --> 接收響應數據 --> 渲染到頁面上。
爬蟲程序:
模擬瀏覽器 --> 往目標站點發送請求 --> 接收響應數據 --> 提取有用的數據 --> 保存到本地/數據庫。
爬蟲的過程
1.發送請求(requests模塊)
2.獲取響應數據(服務器返回)
3.解析並提取數據(BeautifulSoup查找或者re正則)
4.保存數據
模塊簡介
request模塊:
requests是python實現的簡單易用的HTTP庫,官網地址:
http://cn.python-requests.org/zh_CN/latest/
requests.get(url)可以發送一個http get請求,返回服務器響應內容。
BeautifulSoup庫:
BeautifulSoup 是一個可以從HTML或XML文件中提取數據的Python庫。網址:
https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/
BeautifulSoup支持Python標準庫中的HTML解析器,還支持一些第三方的解析器,其中一個是 lxml。
BeautifulSoup(markup,"html.parser")或者BeautifulSoup(markup, "lxml"),推薦使用lxml作為解析器,因為效率更高。
01 第一步
具體來說,這一步是爬取百度百科中《青春有你2》中所有參賽選手信息,返回頁面數據
也就是將如圖的多有參賽學員信息爬取並返回。
02 第二步
對爬取的頁面數據進行解析,並保存為JSON文件。
那麼我們在這一步就可以獲得如圖所有人的具體信息了~~
03 第三步
爬取每個選手的圖片,並進行保存。
這一步我們就可以獲得所有小姐姐的美照了。一共下載482張照片。
具體的思路是從上一步得到的個人信息中進入每個人的百度百科,然後再進入相冊,下載照片並保存。
04 第四步
打印爬取的所有圖片的路徑
05 第五步
主程序。
看著滿屏的成功和新增的文件夾,成就感油然而生。
Python趣分享
您的關注是我們更新的動力