说是爬虫,其实就是个网页下载的脚本。当然,作为第一次,我是献给了wordpress!
开始学习python,渐渐地想要做点什么。
有时候,我们去看别人的博客,无法看到全部的文章,有些或许已经遗失了,有些藏得太深,这是一份遗憾吧!
如果有个脚本能够帮我下载所有的存在文章就好了,我这样想到。
所以我写了这个爬虫,以下是源码。
[php]
#coding = utf-8
print u”’
#—————————————————————-
#程序:wordpress爬虫
#功能:直接下载整个wordpress站点所有文章
#只能用于wordpress搭建的站点,不排除有更改参数导致错误的的可能
#—————————————————————-
”’
import urllib2
import re
print u’请输入wordpress博客域名,例如:“gaobo.name”,’
url = raw_input(‘>’)
print u’请输入要下载的最大文章数’
p = int(raw_input(‘>’)) + 1
ps = range(1,p)
def getHtml():
print u’开始下载中’
for post in ps:
urls = bytes(‘http://’ + url + ‘/’ + ‘?p=’ + bytes(post))
try:
html = urllib2.urlopen(urls).read()
with open(bytes(post) + ".html","w+") as wp:
wp.write(html)
print bytes(post) + u’号文章ok’
except urllib2.HTTPError,e:
print bytes(post) +u’号文章发生错误,代码’+ bytes(e.code)
getHtml()
[/php]
现在看起来还有点别捏,不过这是前几天边看书边写的,现在虽然可以做得更好,但是还是想作为留念。
大致功能就是,把存在(已发布)的文章,或者元素(图片什么的),也就是wordpress不返回404的页面全部下载。
用的是”?p=”,这个get。应该是wordpress的pid吧。
目前还是功能太弱,只能下载网页,而且无法辨别文章标题;不过,作为第一次的脚本,我觉得很有成就感,O(∩_∩)O~
爬虫更新版,以下是代码。主要更新:以title保存文章,这样就能够找到感兴趣的文章了,好吧,已经可以了,此爬虫不在更新。
其实很简单,主要是中文编码不好办,搞了我一下午,结果是默认编码书写错误,应该用“:”的,我用错,用成“=”了。
[php]
# -*- coding: utf-8 -*-
print u”’
#—————————————————————-
#程序:wordpress爬虫
#功能:直接下载整个wordpress站点所有文章
#只能用于wordpress搭建的站点,不排除有更改参数导致错误的的可能
#—————————————————————-
”’
import urllib2
import re
print u’请输入wordpress博客域名,例如:“gaobo.name”,’
url = raw_input(‘>’)
print u’请输入要下载的最大文章数’
p = int(raw_input(‘>’)) + 1
patt = ‘<title>(.*?)|(.*?)</title>’
ps = range(1,p)
def getHtml():
print u’开始下载中’
for post in ps:
urls = bytes(‘http://’ + url + ‘/’ + ‘?p=’ + bytes(post))
try:
html = urllib2.urlopen(urls).read()
tt = re.search(patt,html).group(1).decode(‘utf-8′)
with open(tt + ".html","w+") as wp:
wp.write(html)
print bytes(post) + u’号文章ok’
print tt
except urllib2.HTTPError,e:
print bytes(post) +u’号文章发生错误,代码’+ bytes(e.code)
getHtml()
[/php]
多余代码还是很多,不过属于第一次尝试啊,所以发个文章做纪念
继续努力啊,这个有前途
谢谢,有空向你请教
厉害,我Python学了一段时间后就没兴趣了,三分钟热度……
=-=这个其实很简单的,我也只是刚开始学而已,比不上你的C语言好啊就是用网页库下载html源码而已,而且也要针对主题才可以,爬虫这东西只能定做
python也有他的强大之处。有打算学。正在努力C。后面再学python
是啊,但是我觉得我有可能用不到C,我的目标是web前端,所以选择了python。人生苦短,选择python。
嗯。python学好也很强大。可以网站建设。各方面强大。