比这篇新的文章: VB.引用Access报表
比这篇旧的文章: python.递归遍历指定的目录

网易新闻小爬虫.v0.1

语言: Python, 标签: python 网易新闻 2008/06/01发布 1年前更新
作者: jfxwc, 点击1113次, 评论(0), 收藏者(0), , 打分:

背景
主题: 字体:
01 #coding:utf-8
02
03 #---------------------------------------
04 # 网易新闻小爬虫
05 # 版本 : 0.1
06 # Create By : jfxwc
07 # Create Day: 2008-03-19
08 #---------------------------------------
09 # 简介 : 通过分析 www.163.com ,分析其中以 News.163.com 开头的链接
10 #        获取 各链接的内容,并合并到 1.txt 以便查看各新闻。
11 #        由于 163 新闻的格式不是非常统一,所以只能说大部分可以自动下载。
12 #---------------------------------------
13
14 import re, urllib
15
16 strTitle = ""
17 strTxtTmp = ""
18 strTxtOK = ""
19
20 f = open("163News.txt", "w+")
21
22 m = re.findall(r"news\.163\.com/\d.+?<\/a>",urllib.urlopen("http://www.163.com").read(),re.M)
23 for i in m:
24     testUrl = i.split('"')[0]
25     if testUrl[-4:-1]=="htm":
26
27     # 合并标题头内容
28         strTitle = strTitle + "\n" + i.split('"')[0] + i.split('"')[1]
29
30     # 重新组合链接
31         okUrl = i.split('"')[0]
32         UrlNews = ''
33         UrlNews = "http://" + okUrl
34        
35         print UrlNews
36
37         # 查找分析链接里面的正文内容,但是由于 163 新闻的格式不是非常统一,所以只能说大部分可以。
38         # 整理去掉部分 html 代码,让文本更易于观看。
39         n = re.findall(r"<P style=.TEXT-INDENT: 2em.>(.*?)<\/P>",urllib.urlopen(UrlNews).read(),re.M)
40         for j in n:
41             if len(j)<>0:
42                 j = j.replace("&nbsp","\n")
43                 j = j.replace("<STRONG>","\n_____")
44                 j = j.replace("</STRONG>","_____\n")
45                 strTxtTmp = strTxtTmp + j + "\n"
46                 strTxtTmp = re.sub(r"<a href=(.*?)>", r"", strTxtTmp)
47                 strTxtTmp = re.sub(r"<\/[Aa]>", r"", strTxtTmp)
48
49     # 组合链接标题和正文内容   
50         strTxtOK = strTxtOK + "\n\n\n===============" + i.split('"')[0] + i.split('"')[1] + "===============\n" + strTxtTmp
51         strTxtTmp = ""
52         print strTxtOK
53
54 # 全部分析完成后,写入文件,关闭
55 f.write(strTitle + "\n\n\n" + strTxtOK)
56 f.close()


所有评论,共0条:( 我也来说两句)


发表评论

注册登录后再发表评论