個人簡單的寫了個爬蟲,可以爬頁面鏈接和多媒體鏈接,當然這個只適用於一般的網站,沒啥技術含量,純屬練手只用·········
不過以后我還會在改進的。現在而且只能爬單個頁面,呵呵·······
python確實簡單,20幾行的代碼 就可以解決(我這代碼27行以后都沒用,純屬自己弄着完的)
1
#
filename:Spider1.py
2 # version:1.0
3 # --coding: utf-8--
4 # author: Scr@t
5
6 import sys
7 import urllib2
8 import re
9 import HTMLParser
10
11 class myparser(HTMLParser.HTMLParser):
12 def __init__(self):
13 HTMLParser.HTMLParser. __init__(self)
14 def handle_starttag(self,tag,attrs):
15 if (tag == ' a ')|(tag == ' img '): # 查詢標簽是否為網址鏈接或多媒體鏈接
16 for name,value in attrs:
17 if (name == ' href ')|(name == ' src '): # 查詢該上面兩個標簽的屬性
18 val = re.search( ' http:// ',value) # 匹配鏈接是否為可用鏈接(有的時候會有空鏈接的)
19 if val != None:
20 print value
21
22 if sys.argv[1] == ' -u ':
23 content = (urllib2.urlopen(sys.argv[2])).read() # 打開網址並讀取內容
24 con = myparser()
25 con.feed(content) # 把content的內容,傳給myparser分析
26 else:
27 print ' Usage:%s -u url '%sys.argv[0]
28 print """
29 -------------------------------------------------------------------------------------------
30 | ** ** ** ****************** ***************** |
31 | ** **** ** ** ** * |
32 | ** ** ** ** **************** ***************** |
33 | ** ** ** ** ** ** * |
34 | **** **** ** ** * |
35 | ** ** ****************** ***************** |
36 | |
37 | ***** ********** ********** *********** ************* ************ |
38 | ******** ** ** ** ** ** ** ** ** |
39 | ** ** ** ** ** ** ** ** ** ** |
40 | ** ** ** ** ** ** ** ** ** |
41 | *** *********** ** ** ** ************* ************ |
42 | ** ** ** ** ** ** ** ** |
43 | ** ** ** ** ** ** ** ** ** |
44 | ******** ** ** ** ** ** ** ** |
45 | ****** ** ********** *********** ************* ** ** |
46 | |
47 | author:scr@t version: 1.0 |
48 | |
49 -------------------------------------------------------------------------------------------
2 # version:1.0
3 # --coding: utf-8--
4 # author: Scr@t
5
6 import sys
7 import urllib2
8 import re
9 import HTMLParser
10
11 class myparser(HTMLParser.HTMLParser):
12 def __init__(self):
13 HTMLParser.HTMLParser. __init__(self)
14 def handle_starttag(self,tag,attrs):
15 if (tag == ' a ')|(tag == ' img '): # 查詢標簽是否為網址鏈接或多媒體鏈接
16 for name,value in attrs:
17 if (name == ' href ')|(name == ' src '): # 查詢該上面兩個標簽的屬性
18 val = re.search( ' http:// ',value) # 匹配鏈接是否為可用鏈接(有的時候會有空鏈接的)
19 if val != None:
20 print value
21
22 if sys.argv[1] == ' -u ':
23 content = (urllib2.urlopen(sys.argv[2])).read() # 打開網址並讀取內容
24 con = myparser()
25 con.feed(content) # 把content的內容,傳給myparser分析
26 else:
27 print ' Usage:%s -u url '%sys.argv[0]
28 print """
29 -------------------------------------------------------------------------------------------
30 | ** ** ** ****************** ***************** |
31 | ** **** ** ** ** * |
32 | ** ** ** ** **************** ***************** |
33 | ** ** ** ** ** ** * |
34 | **** **** ** ** * |
35 | ** ** ****************** ***************** |
36 | |
37 | ***** ********** ********** *********** ************* ************ |
38 | ******** ** ** ** ** ** ** ** ** |
39 | ** ** ** ** ** ** ** ** ** ** |
40 | ** ** ** ** ** ** ** ** ** |
41 | *** *********** ** ** ** ************* ************ |
42 | ** ** ** ** ** ** ** ** |
43 | ** ** ** ** ** ** ** ** ** |
44 | ******** ** ** ** ** ** ** ** |
45 | ****** ** ********** *********** ************* ** ** |
46 | |
47 | author:scr@t version: 1.0 |
48 | |
49 -------------------------------------------------------------------------------------------
50 """
好了下面給張圖片·················爬的百度首頁··········
