簡單的爬蟲知識

2022-01-23 05:21:09 字數 2227 閱讀 6870

#

_*_ coding:utf-8 _*_

import

urllib2

import

reclass

spider:

def__init__

(self):

self.page=1 #

當前應該爬第幾頁

self.enable=true #

是否繼續載入頁面

'''內涵段子吧 的乙個 爬蟲類

'''def

load_page(self,page):

'''@brief 定義乙個url請求網頁的方法

@param page 需要請求第幾頁

@returns 返回的頁面html

'''url="

"+str(page)+"

.html

"user_agent="

mozilla/5.0 (compatible; msie 9.0; windows nt 6.1; win64; x64; trident/5.0)

"header=

req=urllib2.request(url,headers=header)

response=urllib2.urlopen(req)

html=response.read()

#把獲取到的網頁的編碼轉換成utf-8,具體的網頁編碼根據網頁自身來,這裡是gbk所以,是gbk

gbk_html=html.decode('

gbk').encode('

utf-8')

#< div class ="f18 mb20" >

#用正規表示式將gbk_html過濾,注意,用單引號,裡面用雙引號,因為網頁用的是雙引號

#re.s 如果沒有re.s 則是只匹配一行有沒有符合規則的字串,如果沒有則下一行重新匹配

#如果加上re.s 則是將所有的字串將乙個整體進行匹配

pattern=re.compile(r'

(.*?)

', re.s)

item_list=pattern.findall(gbk_html)

return

item_list

defdeal_one_page(self,item_list,page):

'''處理每一頁的資料

'''print

"******* 第 %d 頁 爬取完畢...*******

" %page

for item in

item_list:

#print "********************"

items= item.replace("

", "").replace("

", "").replace("

", ""

) self.write_to_file(items)

#寫入到txt中

defwrite_to_file(self,txt):

f=open("

./mystroy.txt

",'a

') #

追加形式開啟檔案

f.write(txt)

f.write(

"******************************")

f.close()

defdo_work(self):

'''讓爬蟲能夠根據我們的意願進行迴圈爬取工作

'''while

self.enable:

try:

item_list=self.load_page(self.page)

except

urllib2.urlerror as e:

print

e.reason

continue

self.deal_one_page(item_list, self.page)

self.page += 1

print

"按回車繼續...

"print

"輸入quit 退出

"command =raw_input()

if (command == "

quit"):

self.enable =false

break

if__name__=="

__main__":

spider().do_work()

python2環境下使用

分享爬蟲的簡單知識。附帶爬蟲案例。

用python寫乙個的爬蟲。對於python這個指令碼語言來說寫爬蟲不是一件很難的事情。在寫爬蟲之前我們先了解一些簡單的爬蟲知識。爬蟲分類 2.聚焦網路爬蟲 3.增量式網路爬蟲 4.深層頁面爬蟲 簡單爬蟲架構 1.url管理器 universal resource location 3.網頁解析器 ...

爬蟲基礎知識簡單案例

1.爬蟲基礎 爬蟲概念 什麼是爬蟲 爬蟲是乙個應用程式 是指某乙個用於爬取資料的應用程式 爬取的目標可以使整個網際網路 也可以是單獨的某乙個伺服器 在cs結構中 爬蟲屬於client 客戶端 爬蟲的價值 網際網路中最有價值的就是資料 爬蟲中首要任務就是要通過網路取獲取模板伺服器的資料 來為自己創造價...

簡單的爬蟲

參考xlzd的知乎專欄 encoding utf 8 from bs4 import beautifulsoup import requests import codecs download url requests模擬http協議中的get請求,用於獲取目標 的原始碼 def download p...