我们可以通过python实现这样一个简单的爬虫功能,把我们想要的代码爬行到本地。下面我们来看看如何用python实现这样的功能。
起因
半夜突然想下载几本电子书来扩展kindle,于是想起python太浅了,也没学过什么“decorator”、“多线程”之类的。
我觉得廖雪峰大神的那个python教程很经典,很有名。刚想找pdf版的下载,没找到!CSDN有一个不完整的,骗了我一个积分!尼玛!
气愤之下,我打算直接写个程序爬廖雪峰的教程,然后把html变成电子书。
过程
过程很有意思。利用浅显的python知识,编写python程序,爬python教程来学习python。想想有点激动.
Python真的很方便,50行左右就OK了。直接粘贴代码:
#编码:utf-8
导入urllib
domain=' 3358 www . Liao Xuefeng . com ' #廖雪峰的域名
path=r ' c:\ users \ cyhhao 2013 \ desktop \ temp \ \ ' # html要保存的路径。
#一个html头文件
input=open(r ' c:\ Users \ cyhhao 2013 \ Desktop \ 0 . html ',' r ')
head=input.read()
#打开python教程主界面
f=urllib . urlopen(' http://www . liaoxuefeng . com/wiki/001374738125095 c 955 C1 E6 d 8 bb 493182103 fac 9270762 a 000 ')
home=f.read()
f.close()
#替换所有空格并回车(很容易得到网址)
geturl=home.replace('\n ','')
geturl=geturl.replace(' ','')
#获取包含url的字符串
list=geturl . split(r ' em;ahref='')[1:]
#强迫症犯了,加首页再合适不过了。
list.insert(0,'/wiki/001374738125095 c 955 C1 E6 d 8 bb 493182103 fac 9270762 a 000 ' ')
#开始遍历url列表
对于李在名单中的说法:
URL=Li . split(r ' ')[0]
Url=域url #补丁Url
打印url
f=urllib.urlopen(url)
html=f.read()
#获取标题以便写入文件名
title=html.split('标题')[1]
title=title . split('-廖雪峰官方网站/title')[0]
#转代码,不然加到路径上就悲剧了。
title=title.decode('utf-8 ')。替换('/',' ')
#截取文本
html=html.split(r '!- block main - ')[1]
Html=html.split(r'h4您的支持是作者写作的最大动力!/h4')[0]
html=html.replace(r'src=' ',' src=' '域)
#添加头部和尾部,形成一个完整的html
html=head html '/body/html '
#输出文件
output=open(路径' %d' % list.index(li) title ')。html ',' w ')
输出.写入(html)
output.close()
简单来说,人生苦短。我用python!
以上是本文的全部内容。我希望你能喜欢它。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。