初識python爬蟲 5分鐘爬取部落格的全部資訊

2021-10-04 17:43:53 字數 2915 閱讀 6545

設定爬取目標

目標**:我自己的部落格,

目標資料:所有部落格文章的 - 鏈結、標題、標籤

分析目標**

待爬取頁面: ~

待爬取資料:html元素中的h2 class=entry-title下的超連結的標題和鏈結,標籤列表

實現html解析,得到目標資料

使用beautifulsoup庫解析,官網:

將結果資料儲存

可以使用json.dumps把這個資料序列化儲存

requests庫提供了7種方法,說明如下:

requests.

request

():構造乙個請求,支撐以下各種方法的基礎方法

requests.

get(

):獲取html網頁的主要方法,對應於http的get

requests.

head

():獲取html網頁頭資訊的方法,對應http的head

requests.

post

():向html網頁提交post請求的方法,對應http的post

requests.

put(

):向html網頁提交put請求的方法,對應於http的put

requests.

patch

():向html網頁提交區域性修改請求,對應於http的patch

requests.

delete

():向html頁面提交刪除請求,對應於http的delete

beautifulsoup: we called him tortoise because he taught us意思是我們叫他烏龜因為他教了我們,當然這裡tortoise是taught us的諧音。beautifulsoup這個詞來自於《愛麗絲漫遊仙境》,意思是「甲魚湯」。上面那個官方配圖也是來自於《愛麗絲漫遊仙境》,看來是沒跑了,估計是作者可能很喜歡這部**吧,因而由此起了這個名字。

好,讓我們看看真正的beautifulsoup是什麼?

beautifulsoup是python語言中的模組,專門用於解析html/xml,非常適合像爬蟲這樣的專案。它有如下幾個使其強大的特點:

beautiful soup基礎用法

def downloadhtmls()

: htmls =

for idx in range(2

):#我的部落格一共只有5頁

#設定初始頁面

url = f""

print

("crawl html: "

,url)

#request 相應的html

r = req.

get(url)

if r.status_code!=

200: #請求成功狀態嗎就是200

raise exception

("error"

) #加入結果集合

htmls.

(r.text)

return htmls

#解析單個html

def parsehtml

(html)

:"""

解析單個html,得到資料

@return

list()

"""

#使用 html.parser 來解析

soup =

beautifulsoup

(html,

'html.parser'

) #我們的標題處於head的title標籤中

title = soup.

find

("head").

find

("title").

get_text()

#我們的所有文章標題都在乙個h4標籤內部

articles = soup.

find_all

("h4"

) datas =

for article in articles:

# 查詢超連結

title_node =

( article

.find

("a"))

#拿出href元素

link = title_node[

"href"

] # 查詢標籤列表,我們的小標題統一在h4的a標籤內部

tag_nodes =

( article

.find

("a"))

tags =

[tag_nodes.

get_text()

] datas.()

return datas

部分結果展示:

初識正則30分鐘

注意,不是 值元素符號是正則裡面最基本單元,匹配時都是匹配一次。形式字元範圍 編號在 0 255 範圍的字元,也就是ascii碼 比如 空格可以使用 x20 表示 u x 任何字元可以使用 u 再加上其編號的4位十六進製制數表示,也就是unicode碼 比如 u4e2d 通常,m和n都是自然數,且一...

Python 爬蟲爬取網頁

工具 python 2.7 import urllib import urllib2 defgetpage url 爬去網頁的方法 request urllib.request url 訪問網頁 reponse urllib2.urlopen request 返回網頁 return response...

python爬蟲爬取策略

在爬蟲系統中,待抓取url佇列是很重要的一部分。待抓取url佇列中的url以什麼樣的順序排列也是乙個很重要的問題,因為這涉及到先抓取那個頁面,後抓取哪個頁面。而決定這些url排列順序的方法,叫做抓取策略。下面重點介紹幾種常見的抓取策略 一 深度優先遍歷策略 深度優先遍歷策略是指網路爬蟲會從起始頁開始...