設定爬取目標
目標**:我自己的部落格,
目標資料:所有部落格文章的 - 鏈結、標題、標籤
分析目標**
待爬取頁面: ~
待爬取資料: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排列順序的方法,叫做抓取策略。下面重點介紹幾種常見的抓取策略 一 深度優先遍歷策略 深度優先遍歷策略是指網路爬蟲會從起始頁開始...