python 自动下载网站相关附件

论坛里有人问如何写个简单的爬虫. 要求如下:


每天的最新文章里面的附件

如何做到

定时下载


#看了一下这个网站, 还好. 好久没折腾过 urllib什么的, 然后写了一个, 测试可以.

在正则匹配时, 建议把数据的编码方式转为脚本编码方式一致.


脚本如下:

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
#!/usr/bin/env python
#-*- coding:utf-8 -*-
 
import  urllib
import  re
 
url  =  "http://www.bjjy.gov.cn"
 
def  get_html_data(u):
     =  urllib.urlopen(u).read()
     =  ""
     for  in  h.split( "\n" ):
         try :
             + =  "\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):
         =  re.findall(r '<A HREF="([^"].*)" TARGET="_blank"' , d[ 0 ], re.I)
         if  len (s):
             for  in  s:
                 link.append(i)
     return  link
 
if  __name__  = =  "__main__" :
     html  =  get_html_data(url)
     f_link  =  get_link(html)
     for  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  in  tmp_link:
                 urllib.urlretrieve(url + j, (url + j).split( "/" )[ - 1 ])



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


以上脚本加个定时任务OK.



本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1672622,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值