python爬蟲學習記錄(1)
python版本:36
(因為很重要所以放在最前面)
這篇主要用的庫有urllib.request,re
在python27中是requests
由於直接當做某課的小程序作業所以做了框架,最後發現做框架的時間可能比本體還多orz。。。
本篇主要實現的功能為,在頁面源代碼(僅限當前網頁右鍵源代碼)中爬取標題,鏈接以及某些圖片
首先鏈接到該網頁:
content=urllib.request.urlopen(url).read()
content=content.decode(utf-8) #在python中似乎經常要進行轉碼的樣子,這一句算常用語句
關於正則表達式這塊,用書上的源代碼實驗的時候,始終報錯,最後還是在網上找到了能用的(其實是不會又嫌麻煩( ̄ε(# ̄) Σ)
爬取網頁標題(即標籤頁上顯示的那個)的正則表達式:
rt = r<title>(.*?)</title>
rcontent = re.findall(rt,content,re.S|re.M) #請無視我亂七八糟的變數命名( ̄ε(# ̄) Σ
爬取鏈接的正則表達式:
ru = r"(?<=href=").+?(?=")|(?<=href=).+?(?=)"
link = re.findall(ru , content, re.I|re.S|re.M)
這個正則表達式爬到的是href標籤中的所有串,所以除了url鏈接外可能還有一些奇怪的東西,後面過濾一下就好了
爬取圖片的正則表達式:
p2=<img src="https://(.+?.jpg)"
imglist=re.compile(p2).findall(h1)
1、這裡爬到的是圖片鏈接列表,下載的話還需要urllib.request.urlretrieve處理
2、只爬取<img src="http://和.jpg中間的圖片,其他位置的圖片未爬取
github地址:Azurimson/SpiderLearning
後來又花半天做了一個稍微gui改良版的,當然漏洞還是很多(-_-#)
由於爬蟲功能上沒有改進,想了想還是記在這篇下面吧。
推薦閱讀:
※愛奇藝人物信息scrapy-redis
※初識Scrapy,在充滿爬蟲的世界裡做一個好公民
※urllib庫使用詳解
※python爬取QQ音樂