學過python的帥哥都知道,爬蟲是python的非常好玩的東西,而且python自帶urllib、urllib2、requests等的庫,為爬蟲的開發提供大大的方便。
這次我要用urllib2,爬一堆風景。
先上重點**
1 response =urllib2.urlopen(url).read()2 soup =beautifulsoup(3 response, #html字串
4 'html.parser', #html解析器
5 from_encoding='utf-8' #字元編碼
6 )其中,urlopen就顧名思義了,可以簡單理解為開啟乙個url,然後獲得該url相對應的東西在python裡的物件,然後通過read之後,就得到了頁面的所有構成元素了
1 if __name__=='__main__':2 s = urllib2.urlopen('')3 print(s.read(100))
read可以傳引數,在這裡是讀取100個字元,結果如下:
然後上面重點**裡的soup是乙個beautifulsoup物件,是乙個第三方的用於html頁面內容解析的庫,當建立了乙個beautifulsoup物件之後,就可以用這個物件對html的內容進行解析,比如:
1 attr =4 nodes = soup.find_all('a',attr)
find_all()函式是查詢所有符合引數條件的元素,上面的**就是查詢所有類名為pic的a元素,除了find_all之外,還有乙個find元素,是查詢符合條件的第乙個元素,知道這兩個函式之後,已經可以爬東西了。
importurllib2from bs4 importbeautifulsoupdefspider_image(url,pre_filename):
response=urllib2.urlopen(url).read()
soup=beautifulsoup(
response,#html字串
'html.parser', #html解析器
from_encoding='utf-8' #字元編碼
attr={'class':'pic',#'page':'2'
nodes= soup.find_all('a',attr)
url_list=set()for node innodes:try:
url_list.add(node['href'])except:pass
for url inurl_list:
img_html=urllib2.urlopen(url).read()
soup=beautifulsoup(
img_html,#html字串
'html.parser', #html解析器
from_encoding='utf-8' #字元編碼
defmkdir(path):#引入模組
importos#去除首位空格
path=path.strip()#去除尾部 \ 符號
path=path.rstrip("\\")#判斷路徑是否存在
#存在 true
#不存在 false
i***ists=os.path.exists(path)#判斷結果
if noti***ists:#如果不存在則建立目錄
print path+'建立成功'
#建立目錄操作函式
os.makedirs(path)returntrueelse:#如果目錄存在則不建立,並提示目錄已存在
print path+'目錄已存在'
returnfalseif __name__=='__main__':
url_list=['']
i= 1
mkpath='f:\\spider'+str(i)#呼叫函式
mkdir(mkpath)
spider_image(url,'f://spider//spider_image'+str(i)+'//')
i= i + 1
爬的話,其實就是讀取到之後,轉成二進位制資料之後,寫入檔案就行了,然後執行就可以了,然後就看到一堆在目錄裡
當然,這算是最基礎,什麼情況都沒遇到,超順利,隨著你想爬更多東西,會發現有很多反爬蟲的東西,比如cookie,驗證碼,ajax動態載入之類的,遇到這些東西,要爬的話,需要做更多更多的工作,當然,這麼好玩的東西,做再多工作都是值得的。
簡單python爬蟲
一段簡單的 python 爬蟲程式,用來練習挺不錯的。讀出乙個url下的a標籤裡href位址為.html的所有位址 一段簡單的 python 爬蟲程式,用來練習挺不錯的。讀出乙個url下的a標籤裡href位址為.html的所有位址 usr bin python filename test.py im...
Python簡單爬蟲
一.獲取整個頁面的資料 coding utf 8 import urllib defgethtml url page urllib.urlopen url html page.read return html html gethtml print html 二.篩選需要的資料 利用正規表示式來獲取想...
Python簡單爬蟲
一 什麼是爬蟲 爬蟲 一段自動抓取網際網路資訊的程式。價值 網際網路資料為我所用。二 爬蟲架構 執行流程 三 幾種實現方式 四 url管理器 定義 管理待抓取url集合和已抓取url集合 防止重複抓取 防止迴圈抓取 url print 第一種方法 response1 urllib2.urlopen ...