python 爬蟲(一) requests+BeautifulSoup 爬取簡單網頁代碼示例


以前搞偷偷摸摸的事,不對,是搞爬蟲都是用urllib,不過真的是很麻煩,下面就使用requests + BeautifulSoup 爬爬簡單的網頁。

詳細介紹都在代碼中注釋了,大家可以參閱。

# -*- coding: utf-8 -*-
"""
Created on Thu Jul  5 20:48:25 2018
@author: brave-man
blog: http://www.cnblogs.com/zrmw/
python3 + anaconda(Spyder) + resquests + BeautifulSoup
這里環境用的就是昨天講的 anaconda 下的 Spyder,非常方便,誰用誰知道
"""

import requests
from bs4 import BeautifulSoup
# from termcolor import colored

# 控制台輸出文本顏色控制,網絡不太好,沒有安裝termcolor,不過在公司測試過,函數傳參應該沒有問題
# print(colored("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].text
texts = soup.select(".blogpost-body")[0].text
time = soup.select(".itemdesc span")[0].text
author = soup.select("#header")[0].text

print(title, author, time, texts)

發現自己表述能力真的是渣啊,慢慢提高吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM