找到url,也就是相當於入口,找到你要爬取的鏈結,獲取整個頁面資料
使用正規表示式,匹配到你想要爬取的內容,這裡使用的主要是正規表示式和一些常用的開源庫
最後一步就是寫入文字以及儲存問題了,如文字檔案、資料庫
# coding:utf-8 #是用來指定檔案編碼為utf-8
from urllib import urlopen #匯入rullib模板用urlopen函式的形式作介面
import chardet #匯入chardet模板,編碼識別模組。
import re #匯入re模板,通過re模組提供對正規表示式的支援
import urllib #匯入urllib模板,獲取url
url =
""'''用urllib.urlopen讀取**的原始碼,建立乙個表示遠端url的類檔案物件,然後像本地檔案一樣操作這個類檔案物件來獲取遠端資料。
引數url表示遠端資料的路徑,一般是**。
read()使用方式與檔案物件完全一樣,檔案中讀取資料。此時text就是獲取的整個頁面資料即是源**'''
text = urllib.urlopen(url)
.read(
)
#需要先檢測text檔案的編碼,然後將其轉化為另一種編碼。 這時候就會用到chardet
chars=chardet.detect(text)
code =chars[
'encoding'
]#decode的作用是將text0檔案編碼的字串轉換成unicode編碼,表示將code編碼的字元text轉換成unicode編碼
text =
str(text)
.decode(code,
'ignore'
)#正規表示式匹配語句--title
title_pattern = re.
compile
("(.*?)"
)#findall 返回 list,以列表的形式返回text裡匹配title_pattern的不重疊的子串。
title = re.findall(title_pattern, text)
有時爬取的內容是不能一步到位的,第一次匹配的內容往往是還包括其他資訊,下面介紹幾個方法進一步準確爬取到資訊
現在爬取的內容已經過濾好了,接下來就是儲存的問題了。
(.)可以匹配除了換行符以外的任意字元,且只能匹配乙個字母,而不是兩個或零個
例項:正規表示式: 「.ython」
字串1:「python」 (√)
字串2:「cpython」(×)
()可以將特殊字元作為普通字元使用
正規表示式: 「.ython」
字串1: 「python」 (×)
字串2: 「.ython」 (√)
使用中括號括住字串建立字符集,字符集可以匹配它所包含的任意字元。
^反轉字符集
正規表示式: 「^[a-z]ython」
字串1: 「python」 (√)
字串2: 「1ython」 (×)
字串3: 「jython」 (√)
(|)是用於選項選擇的特殊符號,圓括號則能夠實現對模式的特定部分進行選擇
正規表示式: "perl|python"或 「p(erl|ython)」
字串1: 「python」 (√)
字串2: 「perl」 (√)
[|]------使用豎
?可以使子模式成為可選項,可有可無
*允許模式重複匹配0次或多次------.*
+允許模式重複匹配1次或多次
允許模式匹配m~n次
^標識匹配模式的開頭
$標識匹配模式的結尾
正規表示式: 「^ht+p」 表示匹配一次,http開頭的匹配
字串1: 「http:baidu.com」 (√)
字串2: 「www.baidu.com」 (×)
正規表示式: 「com$」 表示com結尾的匹配
字串3: 「http:baidu.com」 (√)
字串4: 「http:baidu.com」 (√ )
compile:建立包含正規表示式的字串的模式物件
match:在字串的開始處匹配模式,注意:該方法的返回值是布林值
split:根據模式的匹配項分割字串,注意:返回值是列表
findall:列出所有匹配項------每個字母都匹配,注意:返回值是列表
search:返回第一次匹配到的值
python網路爬蟲
這篇部落格簡單的實現了乙個網路爬蟲指令碼,所謂網路爬蟲就是從 某乙個頁面 通常是首頁 開始,讀取網頁的內容,找到在網頁中的其它鏈結位址,然後通過這些鏈結位址尋找下乙個網頁,這樣一直迴圈下去,直到把這個 所有的網頁都抓取完為止。下面就是乙個簡單地網路爬蟲程式 note 這個命令的意思是,從爬去尋找關鍵...
python網路爬蟲
前言去掉所有標籤 dr re.compile r re.s dd dr.sub jiner 任意內容 可以匹配多位數字 可以匹配用逗號隔開的數字 可以匹配一位的數字 可以匹配帶小數點的數字 匹配空白符 匹配最後兩位 re.search 0 9 0 9 0 9 s.dd 當然,爬蟲還有乙個很關鍵的就通...
Python 網路爬蟲
python在設計上堅持了清晰劃一的風格,這使得python成為一門易讀 易維護,並且被大量使用者所歡迎的 用途廣泛的語言。學習python也有一段時間了,接下來做一下簡單的爬蟲程式,用來獲取一些網頁上的資料 網頁圖 爬取的資料 實現 coding utf 8 import urllib.reque...