標籤:parser beautiful 顏色 div 爬取 sts auth ... 傳參
以前搞偷偷摸摸的事,不對,是搞爬蟲都是用urllib,不過真的是很麻煩,下面就使用requests + BeautifulSoup 爬爬簡單的網頁。
詳細介紹都在代碼中注釋了,大家可以參閱。
# -*- coding: utf-8 -*-"""Created on Thu Jul 5 20:48:25 2018@author: brave-manblog: http://www.cnblogs.com/zrmw/python3 + anaconda(Spyder) + resquests + BeautifulSoup這裡環境用的就是昨天講的 anaconda 下的 Spyder,非常方便,誰用誰知道"""import requestsfrom bs4 import BeautifulSoup# from termcolor import colored# 控制台輸出文本顏色控制,網路不太好,沒有安裝termcolor,不過在公司測試過,函數傳參應該沒有問題# print("abc", "red")# 通過requests庫中的get方法擷取整個響應頁面,存放在res中res = requests.get("https://www.cnblogs.com/zdong0103/p/8492779.html")# (1) res.encoding = "utf-8"soup = BeautifulSoup(res.text, "html.parser")# 這時候如果列印的soup的話,會在控制台中輸出整個響應頁面的原始碼# print(soup)# 如果列印的是亂碼,則可以在 (1) 處添加 (1) 所示代碼,設定編碼格式,不過有時候是不需要的。# 接下來對網頁的源碼進行剖析""" 在網頁中按 F12 查看網頁原始碼,文章標題在 class = "block_title" 裡面,soup.select(".block_title") 擷取的是一個列表,擷取此列表的第一個元素,所以 index = 0 , 從標籤中擷取文本一般使用 text 方法即可同上,本文在 class = "blogpost-body"..."""title = soup.select(".block_title")[0].texttexts = soup.select(".blogpost-body")[0].texttime = soup.select(".itemdesc span")[0].textauthor = soup.select("#header")[0].textprint(title, author, time, texts)
發現自己表述能力真的是渣啊,慢慢提高吧。
python 爬蟲(一) requests+BeautifulSoup 爬取簡單網頁程式碼範例