三个步骤搞定一个爬虫--源码

这里给出“三个步骤搞定一个爬虫的python源码”

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
#-*-coding:utf8-*-
#!usr/bin/python
import urllib
import time
url=['']*10
title=['']*10
# 循环页数
for page in range(1,39):
pageContent=urllib.urlopen('http://tuilixue.com/zhentantuilizhishi/list_4_'+str(page)+'.html').read()
# print pageContent
#这一部分先找到某一页中的第一篇文章作为初始化
#根据网页代码特性,发现只有需要的页面文章链接前面有/span><a href=,于是找到页面中的/span><a href=的下标开始
hrefHeader=pageContent.find(r'/span><a href=')
# print hrefHeader
#发现所需文章链接后面没有唯一的特性,于是从前面找到的下标开始找第一个target="_blank">的下标
hrefTrail=pageContent.find(r'target="_blank">',hrefHeader)
# print hrefTrail
#根据找到的下标,增加一定的位数找到文章链接,就是一个切片操作
url[0]=pageContent[hrefHeader+15:hrefTrail-2]
#寻找文章标题
titleHead=pageContent.find(r'target="_blank">',hrefHeader)
titleTrail=pageContent.find(r'</a>',titleHead)
title[0]=pageContent[titleHead+16:titleTrail-1]
if hrefHeader!=-1 and hrefTrail!=-1:
for times in range(1,10):
# 从前面的找到的尾部下标开始寻找
hrefHeader=pageContent.find(r'/span><a href=',hrefTrail)
#从上一步开始寻找
hrefTrail=pageContent.find(r'target="_blank">',hrefHeader)
#根据找到的下标,增加一定的位数找到文章链接,就是一个切片操作
url[times]=pageContent[hrefHeader+15:hrefTrail-2]
#寻找文章标题
titleHead=pageContent.find(r'target="_blank">',hrefHeader)
titleTrail=pageContent.find(r'</a>',titleHead)
title[times]=pageContent[titleHead+16:titleTrail-1]
for times in range(0,10):
#分别读出每一个文章的url
articleContent=urllib.urlopen(url[times]).read()
print "Start download~~"+str(url[times][-9:])
#以html的格式保存
open(r'/home/wukong/testTuiLiXue/download/'+url[times][-9:].replace('/',''),'w+').write(articleContent)
print "Download finish"+str(page-1)+str(times)
#缓存时间为1s
time.sleep(1)
print "All finish"

本文地址:http://damiantuan.xyz/2017/11/19/三个步骤搞定一个爬虫-源码/
转载请注明出处,谢谢!

坚持原创技术分享,您的支持将鼓励我继续创作!
-------------本文结束感谢您的阅读-------------