一、演繹自已的北愛
踏上北漂的航班,開始演奏了我自已的北京愛情故事
二、爬蟲1
1、網絡爬蟲的思路
首先:指定一個url,然後打開這個url位址,讀其中的内容。
其次:從讀取的内容中過濾關鍵字;這一步是關鍵,可以通過檢視源代碼的方式擷取。
最後:下載下傳擷取的html的url位址,或者圖檔的url位址儲存到本地
2、針對指定的url來網絡爬蟲
分析:
第一步:大約共有4300個下一頁。
第二步:一個頁面上有10個個人頭像
第三步:一個頭像内大約有100張左右的個人圖檔
<a href="http://s3.51cto.com/wyfs02/M01/4D/FB/wKiom1Re1DjxFLWEAAI4xhSpEeU805.jpg" target="_blank"></a>
這個頁面預設是沒有下一頁按鈕的,我們可以通過修改其url位址來進行檢視下一個頁面
<a href="http://s3.51cto.com/wyfs02/M01/4D/FA/wKioL1Re1WrieaAHAAJOq58aESc130.jpg" target="_blank"></a>
最後一頁的url位址和頁面展示如下圖所示:
<a href="http://s3.51cto.com/wyfs02/M01/4D/FB/wKiom1Re1W-xRcNPAAEzpyPjmyo284.jpg" target="_blank"></a>
點選任意一個頭像來進入個人的首頁,如下圖
<a href="http://s3.51cto.com/wyfs02/M02/4D/FA/wKioL1Re1q7AU3EwAANbsDDzi1k438.jpg" target="_blank"></a>
3、定制的腳本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<code>#!/usr/bin/env python</code>
<code>#coding:utf-8</code>
<code>#Author:Allentuns</code>
<code>#Email:[email protected]</code>
<code>import</code> <code>urllib</code>
<code>import</code> <code>os</code>
<code>import</code> <code>sys</code>
<code>import</code> <code>time</code>
<code>ahref = </code><code>'<a href="'</code>
<code>ahrefs = </code><code>'<a href="h'</code>
<code>ahtml = </code><code>".htm"</code>
<code>atitle = </code><code>"<img style"</code>
<code>ajpg = </code><code>".jpg"</code>
<code>btitle = </code><code>'<img src="'</code>
<code>page = 0</code>
<code>while</code> <code>page < 4300: </code><code>#這個地方可以修改;最大值為4300,我測試的時候寫的是3.</code>
<code> </code><code>mmurl = </code><code>"http://mm.taobao.com/json/request_top_list.htm?type=0&page=%d"</code> <code>%(page)</code>
<code> </code><code>content = urllib.urlopen(mmurl).</code><code>read</code><code>()</code>
<code> </code><code>href = content.</code><code>find</code><code>(ahref)</code>
<code> </code><code>html = content.</code><code>find</code><code>(ahtml)</code>
<code> </code><code>url = content[href + len(ahref) : html + len(ahtml)]</code>
<code> </code><code>print url</code>
<code> </code><code>imgtitle = content.</code><code>find</code><code>(btitle,html)</code>
<code> </code><code>imgjpg = content.</code><code>find</code><code>(ajpg,imgtitle)</code>
<code> </code><code>littleimgurl = content[imgtitle + len(btitle): imgjpg + len(ajpg)]</code>
<code> </code><code>print littleimgurl</code>
<code> </code><code>urllib.urlretrieve(littleimgurl,</code><code>"/www/src/temp/image/taobaomm/allentuns.jpg"</code><code>)</code>
<code> </code><code>s = 0</code>
<code> </code><code>while</code> <code>s < 18:</code>
<code> </code><code>href = content.</code><code>find</code><code>(ahrefs,html)</code>
<code> </code><code>html = content.</code><code>find</code><code>(ahtml,href)</code>
<code> </code><code>url = content[href + len(ahref): html + len(ajpg)]</code>
<code> </code><code>print s,url</code>
<code> </code><code>imgtitle = content.</code><code>find</code><code>(btitle,html)</code>
<code> </code><code>imgjpg = content.</code><code>find</code><code>(ajpg,imgtitle)</code>
<code> </code><code>littleimgurl = content[imgtitle : imgjpg + len(ajpg)]</code>
<code> </code><code>littlesrc = littleimgurl.</code><code>find</code><code>(</code><code>"src"</code><code>)</code>
<code> </code><code>tureimgurl = littleimgurl[littlesrc + 5:]</code>
<code> </code><code>print s,tureimgurl</code>
<code> </code><code>if</code> <code>url.</code><code>find</code><code>(</code><code>"photo"</code><code>) == -1:</code>
<code> </code><code>content01 = urllib.urlopen(url).</code><code>read</code><code>()</code>
<code> </code><code>imgtitle = content01.</code><code>find</code><code>(atitle)</code>
<code> </code><code>imgjpg = content01.</code><code>find</code><code>(ajpg,imgtitle)</code>
<code> </code><code>littleimgurl = content01[imgtitle : imgjpg + len(ajpg)]</code>
<code> </code><code>littlesrc = littleimgurl.</code><code>find</code><code>(</code><code>"src"</code><code>)</code>
<code> </code><code>tureimgurl = littleimgurl[littlesrc + 5:]</code>
<code> </code><code>print tureimgurl</code>
<code> </code><code>imgcount = content01.count(atitle)</code>
<code> </code><code>i = 20</code>
<code> </code><code>try:</code>
<code> </code><code>while</code> <code>i < imgcount:</code>
<code> </code><code>content01 = urllib.urlopen(url).</code><code>read</code><code>()</code>
<code> </code><code>imgtitle = content01.</code><code>find</code><code>(atitle,imgjpg)</code>
<code> </code><code>imgjpg = content01.</code><code>find</code><code>(ajpg,imgtitle)</code>
<code> </code><code>littleimgurl = content01[imgtitle : imgjpg + len(ajpg)]</code>
<code> </code><code>littlesrc = littleimgurl.</code><code>find</code><code>(</code><code>"src"</code><code>)</code>
<code> </code><code>tureimgurl = littleimgurl[littlesrc + 5:]</code>
<code> </code><code>print i,tureimgurl</code>
<code> </code><code>time</code><code>.</code><code>sleep</code><code>(1)</code>
<code> </code><code>if</code> <code>tureimgurl.count(</code><code>"<"</code><code>) == 0:</code>
<code> </code><code>imgname = tureimgurl[tureimgurl.index(</code><code>"T"</code><code>):]</code>
<code> </code><code>urllib.urlretrieve(tureimgurl,</code><code>"/www/src/temp/image/taobaomm/%s-%s"</code> <code>%(page,imgname))</code>
<code> </code><code>else</code><code>:</code>
<code> </code><code>pass</code>
<code> </code><code>i += 1</code>
<code> </code><code>except IOError:</code>
<code> </code><code>print </code><code>'/nWhy did you do an EOF on me?'</code>
<code> </code><code>break</code>
<code> </code><code>except:</code>
<code> </code><code>print </code><code>'/nSome error/exception occurred.'</code>
<code> </code><code>s += 1</code>
<code> </code><code>else</code><code>:</code>
<code> </code><code>print </code><code>"---------------{< 20;1 page hava 10 htm and pic }-------------------------}"</code>
<code> </code><code>page = page + 1</code>
<code> </code><code>print </code><code>"****************%s page*******************************"</code> <code>%(page)</code>
<code>else</code><code>:</code>
<code> </code><code>print </code><code>"Download Finshed."</code>
4、圖檔展示(部分圖檔)
<a href="http://s3.51cto.com/wyfs02/M00/4D/FA/wKioL1Re2ICiL6AQAAhVHpRxlWc887.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/4D/FB/wKiom1Re2BvxeUXWAAhjd5UBBfo108.jpg" target="_blank"></a>
5、檢視下載下傳的圖檔數量
二、爬蟲2
1、首先來分析url
第一步:總共有7個頁面;
第二步:每個頁面有20篇文章
第三步:檢視後總共有317篇文章
<a href="http://s3.51cto.com/wyfs02/M02/4D/FB/wKiom1Re2xzwiidxAAZjxM8KAOM147.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/4D/FA/wKioL1Re24aQ2iNbAAd97-WqAm4390.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/4D/FB/wKiom1Re2yGwofzrAAeL33Kq3ao239.jpg" target="_blank"></a>
2、python腳本
腳本的功能:通過給定的url來将這片部落格裡面的所有文章下載下傳到本地
<code>#coding: utf-8</code>
<code>list00 = []</code>
<code>i = j = 0</code>
<code>page = 1</code>
<code>while</code> <code>page < 8:</code>
<code> </code><code>str = </code><code>"http://blog.sina.com.cn/s/articlelist_1191258123_0_%d.html"</code> <code>%(page)</code>
<code> </code><code>content = urllib.urlopen(str).</code><code>read</code><code>()</code>
<code> </code><code>title = content.</code><code>find</code><code>(r</code><code>"<a title"</code><code>)</code>
<code> </code><code>href = content.</code><code>find</code><code>(r</code><code>"href="</code><code>,title)</code>
<code> </code><code>html = content.</code><code>find</code><code>(r</code><code>".html"</code><code>,href)</code>
<code> </code><code>url = content[href + 6:html + 5]</code>
<code> </code><code>urlfilename = url[-26:]</code>
<code> </code><code>list00.append(url)</code>
<code> </code><code>print i, url</code>
<code> </code><code>while</code> <code>title != -1 and href != -1 and html != -1 and i < 350:</code>
<code> </code><code>title = content.</code><code>find</code><code>(r</code><code>"<a title"</code><code>,html)</code>
<code> </code><code>href = content.</code><code>find</code><code>(r</code><code>"href="</code><code>,title)</code>
<code> </code><code>html = content.</code><code>find</code><code>(r</code><code>".html"</code><code>,href)</code>
<code> </code><code>url = content[href + 6:html + 5]</code>
<code> </code><code>urlfilename = url[-26:]</code>
<code> </code><code>list00.append(url)</code>
<code> </code><code>i = i + 1</code>
<code> </code><code>print i, url</code>
<code> </code><code>print </code><code>"Link address Finshed."</code>
<code> </code><code>print </code><code>"This is %s page"</code> <code>%(page)</code>
<code> </code><code>print </code><code>"spage="</code><code>,list00[50]</code>
<code> </code><code>print list00[:51]</code>
<code> </code><code>print list00.count(</code><code>""</code><code>)</code>
<code> </code><code>print </code><code>"All links address Finshed."</code>
<code>x = list00.count(</code><code>''</code><code>)</code>
<code>a = 0</code>
<code>while</code> <code>a < x:</code>
<code> </code><code>y1 = list00.index(</code><code>''</code><code>)</code>
<code> </code><code>list00.pop(y1)</code>
<code> </code><code>print a</code>
<code> </code><code>a = a + 1</code>
<code>print list00.count(</code><code>''</code><code>)</code>
<code>listcount = len(list00)</code>
<code>while</code> <code>j < listcount:</code>
<code> </code><code>content = urllib.urlopen(list00[j]).</code><code>read</code><code>()</code>
<code> </code><code>open</code><code>(r</code><code>"/tmp/hanhan/"</code><code>+list00[j][-26:],</code><code>'a+'</code><code>).write(content)</code>
<code> </code><code>print </code><code>"%2s is finshed."</code> <code>%(j)</code>
<code> </code><code>j = j + 1</code>
<code> </code><code>#time.sleep(1)</code>
<code> </code><code>print </code><code>"Write to file End."</code>
3、下載下傳文章後的截圖
<a href="http://s3.51cto.com/wyfs02/M01/4D/FB/wKiom1Re3XzBVDbjAAlH2M5t-kI943.jpg" target="_blank"></a>
本文轉自zys467754239 51CTO部落格,原文連結:http://blog.51cto.com/467754239/1574528,如需轉載請自行聯系原作者