您的位置:首页 > 编程语言 > Python开发

python 自动下载网站相关附件

2015-07-09 17:33 696 查看
论坛里有人问如何写个简单的爬虫. 要求如下:

每天的最新文章里面的附件
如何做到
定时下载

#看了一下这个网站, 还好. 好久没折腾过 urllib什么的, 然后写了一个, 测试可以.
在正则匹配时, 建议把数据的编码方式转为脚本编码方式一致.

脚本如下:
#!/usr/bin/env python
#-*- coding:utf-8 -*-

import urllib
import re

url = "http://www.bjjy.gov.cn"

def get_html_data(u):
h = urllib.urlopen(u).read()
t = ""
for i in h.split("\n"):
try:
t += "\n" + i.decode('gbk').encode('utf-8')
except:
pass
return t

def get_link(data):
d, link = re.findall(r'最新文章标题开始(.*)最新文章标题结束', data, re.S), []
if len(d):
s = re.findall(r'<A HREF="([^"].*)" TARGET="_blank"', d[0], re.I)
if len(s):
for i in s:
link.append(i)
return link

if __name__ == "__main__":
html = get_html_data(url)
f_link = get_link(html)
for i in f_link:
tmp_data = get_html_data(url + i)
tmp_link = re.findall(r'<a href="([^"].*)"><span style',tmp_data, re.I)
if len(tmp_link):
for j in tmp_link:
urllib.urlretrieve(url+j, (url+j).split("/")[-1])


上面要匹配 最新文章 那个地方, 之前没有把数据转码,就是不行.

以上脚本加个定时任务OK.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: