博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1)④爬取新浪军事新闻,并把内容存放到相应的文件夹中
阅读量:6327 次
发布时间:2019-06-22

本文共 1800 字,大约阅读时间需要 6 分钟。

1 __author__ = 'minmin' 2 #coding:utf-8 3 import re,urllib,sgmllib,os 4  5 #根据当前的url获取html 6 def getHtml(url): 7     page = urllib.urlopen(url) 8     html = page.read() 9     page.close()10     return html11 12 #根据html获取想要的文章内容13 def func(str):14      result= re.findall(r"

([^<>]*)

",getHtml(url),re.M)15 artical =''16 for j in result:17 if len(j)<>0:18 j = j.replace(" ","")19 j = j.replace(""," ")#去掉,换成" "20 j = j.replace(""," ")#去掉换成" "21 artical = artical + j + '\n'22 return artical23 24 #html链接的标签是“a”,链接的属性是“href”,也就是要获得html中所有tag=a,attrs=href 值。25 class URLPaser(sgmllib.SGMLParser):26 def reset(self):27 sgmllib.SGMLParser.reset(self)28 self.urls = []29 30 def start_a(self,attrs):31 href = [v for k,v in attrs if k == 'href']32 if href:33 self.urls.extend(href)34 35 IParser = URLPaser()36 socket = urllib.urlopen("http://mil.news.sina.com.cn/")#打开这个网页37 38 #fout = file('qq_art_urls.txt','w')#要把这个链接写到这个文件中39 IParser.feed(socket.read())#分析啦40 41 reg = 'http://mil.news.sina.com.cn/.*'#这个是用来匹配符合条件的链接,使用正则表达式匹配42 43 pattern = re.compile(reg)44 45 46 os.getcwd()#获得当前文件夹路径47 os.path.sep#当前系统路径分隔符48 49 #判断文件是否存在50 if os.path.exists('sina_military')==False:51 os.makedirs('sina_military')52 53 i = 054 url2 = []55 for url in IParser.urls:#链接都存在urls里56 57 if pattern.match(url):58 if url not in url2:59 url2.append(url)60 artical = func(url)61 print artical62 if len(artical)<>0:63 i = i + 164 f = open("sina_military/"+ str(i) + '.txt','a+')65 f.write(artical)66 f.close()

 

转载于:https://www.cnblogs.com/minmsy/p/4962731.html

你可能感兴趣的文章
【技能意志矩阵-skill will matrix】工作中究竟是个人能力更重要,还是我们的积极性更能提高我们的业绩?...
查看>>
linux命令之pwd(print working drectory)
查看>>
电脑远程工具:mstsc
查看>>
day17
查看>>
uva 1494(MST+LCA)
查看>>
Codeforces Rockethon 2014 解题报告
查看>>
fzuoj 2173(矩阵快速幂)
查看>>
光耦工作原理
查看>>
安全体系(一)—— DES算法详解
查看>>
关于WIN7输入法的小问题
查看>>
缓存服务器
查看>>
oracle 11g RAC 的一些基本概念(四)
查看>>
12C 新特性--全库缓存
查看>>
ssh框架的构成分析和代码构架小结 .
查看>>
spring工作原理及其作用
查看>>
Thread的run和start
查看>>
java 虚拟机自动内存管理
查看>>
linux进程管理和系统状态常用命令简介
查看>>
shell 跑yii框架下的脚本
查看>>
统计立方数
查看>>