初等爬蟲的學習過程1

2021-07-31 13:34:25 字數 2166 閱讀 8506

閒來無事,學習一下爬蟲的編寫過程,總歸也算是python的重點應用方式啊。首先先對爬蟲做乙個總結,爬蟲就是按照乙個乙個的鏈結爬滿網路,然後將需要的內容儲存下來。目前只是初級爬蟲的編寫,主要目的是學習流程。

1、爬蟲爬蟲首先要從乙個鏈結開始,就顯示蜘蛛一開始搭建的那根線,從那根線之爬滿每乙個鏈結,然後從這些鏈結中再向外爬,由此才可以爬完乙個**,或者再打一點爬滿全網。搜尋引擎就是爬蟲功能的乙個重要例項

2、首先獲取初始鏈結,這次編寫我們從真愛網開始玩起,目的是為了學習技術,首先使用python的urllib庫,這個庫可以直接獲取網頁的源**,具體使用方式如下:

def gethtml(url):

page=urllib.urlopen(url)

html=page.read()

return html

這樣就可以直接獲取珍愛網首頁的html資訊再用

print gethtml(將資訊列印。單還要注意編碼問題

2、在上一步裡我們獲得了珍愛網的首頁html,單很明顯首頁是不會展示大量的的,許多的資訊需要登入之後才能取得,在這時候urllib庫就力不從心了,此時我選擇selenium來進行模擬登入和以後的搜尋操作

3、對於登入搜尋這類簡單的html操作,基本可以略過直接上**:

def

zhenai_login

(myusername,mypassword):

browser = webdriver.firefox()

browser.get('')

time.sleep(3)

username = browser.find_element_by_id('jcloginname')

username.send_keys(str(myusername))

password = browser.find_element_by_id('jcloginpass')

password.send_keys(mypassword)

logon = browser.find_element_by_link_text('登入')

logon.click()

time.sleep(3)

search=browser.find_element_by_link_text('搜尋')

search.click()

time.sleep(3)

return browser

此時我們就得到了乙個登入後的搜尋條件的webdriver物件,後面可以直接使用這個物件獲取介面的html資訊

def

scroll

(driver):

driver.execute_script("""

(function ()

else

}

settimeout(f, 1000);

})();

""")

直接將在網頁介面載入js**,使之進行從上往下的翻頁,就我估算每翻一次業大約有20張被載入,因此要獲取大約500張就需要迴圈翻頁25次,要是10000張就需要500次,希望你的瀏覽器可以挺住

def

getimage

(html):

reg =r']*src\s*=\s*"([^"]*)"[^>]*>'

imgre=re.compile(reg)

imglist=re.findall(imgre,html)

return imglist

從函式中可以看出正則的重要內容為以

def

downloadimage

(imglist):

count=1

for img in imglist:

try:

urllib.urlretrieve(img,filename=u"e:/珍愛網/%s.jpg"%count)

except exception,e:

print

'something si wroing:'+str(e)

count+=1

很簡單的**就不細說了,就主要使用rulretrive()函式,注意使用異常捕獲,要不只要有乙個鏈結出現問題,那整個函式就斷掉了

7、最後貼一下簡單的成果(成果就不貼了笑哭了)

爬蟲學習(1)

2015年11月1日 no comments article 爬蟲,顧名思義,就是在網際網路上爬行的程式,能抓取內容,利用正規表示式匹配後,則能找到想要的內容。import urllib2 response urllib2.urlopen print response.read response是乙...

Magical爬蟲 學習 1

最開始了解python的時候就有聽說爬蟲,感覺好神奇!學完pyhton基礎些的知識後就在想要繼續學點什麼,就這個啦 先在網上找了很多關於爬蟲的東西瞅了瞅,又看到了這個python實戰 一周學會爬取網頁!完整課程是四周的,要交些學費,我準備先拿免費教程上上手 嘿嘿 是網易雲課堂上的課程,講的真的很好,...

爬蟲學習筆記1

目錄通過程式設計向網路伺服器請求資料 html表單 然後解析html,提取出自己想要的資料。哇 為何有種相見恨晚的趕腳?基礎知識可以參考一下崔慶才老師的官方部落格,基本知識點都提到了,就是不太深,但是作為入門夠了.這個鏈結的中文釋義就是,可以https這個協議訪問的資源,位於主機blog.csdn....