利用Python3把韩寒新浪博客每篇文章的链接找出,并把每篇文章的正文下载为html格式文件。

# -*- coding: utf-8 -*-
import urllib.request
import reurl=['']*350
#建立350个列表用来存储每篇博文的地址链接
i=0
page=1
while page<8:#所有文章有7页,因此循环查找每一页content=urllib.request.urlopen("http://blog.sina.com.cn/s/articlelist_1191258123_0_"+str(page)+".html").read()#数值INT不能直接与字符串直接连接起来,用函数str先把数值转为字符串content=content.decode('utf-8')#把content转为str格式,不转置为byte格式find函数无法使用title=content.find(r'<a title=')href=content.find(r'href',title)#找到title后在接着从该处往后查找html=content.find(r'html',href)while title != -1 and href != -1 and html !=-1 and i < 350:url[i]=content[href+6:html+4]#获取链接print(url[i])title=content.find(r'<a title=',html)href=content.find(r'href',title)html=content.find(r'html',href)i=i+1else:print(str(page) +'find end!')page=page+1
else:print('All Find End')#以上语句找到所有博文的文章链接后,下面开始逐条下载,并把正文保存下来
j=0
while j<350 and len(url[j])>0:#实现文章数目是低于350的,当判断链接为空的时候则停止下载con=urllib.request.urlopen(urll[j]).read()con=con.decode("utf-8")title = re.findall(r'<title>.*</title>',con)#取标题title = re.sub('<title>|</title>','',title[0])#把<title></title>替换为空,title[0]把title取为string,原title是List格式,无法使用re.subtitle=title.replace('*','')#有篇文章标题含有*符号,保存的时候会报错,用来替代掉*号text = re.findall(r'<!-- 正文开始 -->.*<!-- 正文结束 -->', con,re.DOTALL)[0]  open(r'hanhan/'+str(j)+title+'.html','w+').write(text)print('downing',urll[j])j=j+1
else:print('download finish')
#下面为Python中find函数的官方说明,start/end为可选填写,如果找不到则返回-1
Help on method_descriptor:find(...)S.find(sub[, start[, end]]) -> intReturn the lowest index in S where substring sub is found,such that sub is contained within S[start:end].  Optionalarguments start and end are interpreted as in slice notation.Return -1 on failure.

找到每篇文章地址,可以使用正则表达式只提取文章中的文字并保存为txt文件,后期会继续优化代码。

代码版本:Python3.5

Python3爬虫韩寒新浪博客文章相关推荐

  1. Python爬虫爬取一篇韩寒新浪博客

    网上看到大神对Python爬虫爬到很多有用的信息,觉得很厉害,突然对想学Python爬虫,虽然自己没学过Python,但在网上找了一些资料看了一下,看到爬取韩寒新浪博客的视频,共三集,第一节讲爬取一篇 ...

  2. 2016-12-17 新浪博客服务器挂掉了,所有博客页面都无法打开

    今天(2016-12-17 10:20)早晨从百度上检索到一篇新浪博客文章,点进去之后显示无法访问此网址,如下截图 去新浪博客主页看了看,主页是可以打开的 但是点进去任何一篇文章,都无法打开此页面 应 ...

  3. python爬取新浪博客_python网络爬虫 新浪博客篇

    上次写了一个爬世纪佳缘的爬虫之后,今天再接再厉又写了一个新浪博客的爬虫.写完之后,我想了一会儿,要不要在博客园里面写个帖子记录一下,因为我觉得这份代码的含金量确实太低,有点炒冷饭的嫌疑,就是把上次的代 ...

  4. 黄聪:wordpress文章同步发布到网易、天涯、新浪博客、百度空间插件

    新浪博客,网易博客,百度空间,天涯博客都是权重很高的第三方博客平台.如果能保持更新,有助于提升主站权重.有了博客同步插件,直接在wordpress 后台设置一下,wordpress 自动把更新的日志同 ...

  5. android博客排行榜,新浪博文排行_新浪博客 新浪博客Android客户端

    新浪博客 新浪博客Android客户端 JPG,330x294,231KB,281_250 醉 是春花烂漫时 JPG,480x800,191KB,250_417 新浪博客 JPG,472x216,23 ...

  6. [转载]Word直接发布新浪博客(以Word 2013为例)

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:Word直接发布新浪博客(以Word 2013为例) 作者:paulke2011 注意:这篇博客直接由Word 20 ...

  7. html代码 通用代码,新浪博客通用html代码及其使用方法

    经常上新浪博客又偶尔看到有些NX的博客总会把自己的领地打扮得漂漂亮亮的,总给人一种神圣敢,让人羡慕不已.其实方法很简单,你也可以轻松打造! 首先,你登陆你的博客 > 控制面板 > 首页内容 ...

  8. 推荐一款自己的软件作品[豆约翰博客备份专家],新浪博客,QQ空间,CSDN,cnblogs博客备份,导出CHM,PDF(转载)...

    推荐一款自己的软件作品[豆约翰博客备份专 豆约翰博客备份专家是完全免费,功能强大的博客备份工具,博客电子书(PDF,CHM和TXT)生成工具,博文离线浏览工具,软件界面美观大方,支持多个主流博客网站( ...

  9. 再读杨绛_RWERWERWE_96921_新浪博客

    前几天在新浪博客上看到关于杨绛先生病危的消息还并未在意,以为又是一些无聊的人编造一些类似于"金庸去世"的戏码,今天在朋友圈发现杨绛先生去世的确凿消息后,心中便有一些感慨了. 杨绛 ...

  10. 新浪博客(sina blog)批量删除代码

    今天想再次删除新浪博客中的文章,同时包括垃圾箱中的. 操作了几个觉得太郁闷了,只能一条一条的删除,有1k左右条呢, 得操作多久? 看了一下,需要保留的只是几条; 于是查看了下html代码,找到规则,写 ...

最新文章

  1. linux安装sphinx
  2. 为什么分布式一定要有一致性方案?
  3. STM32通过串口如何接收服务器发来的数据
  4. 《高性能JavaScript》第一章 加载和执行
  5. C语言荣获2019年度最佳编程语言
  6. Git 安装和使用教程(更加详细)
  7. express 模板 及 文件上传
  8. 时光倒流我这么学java
  9. go技巧-json转map
  10. 画PCB四层板细节总结
  11. Java动态代理为什么要求必须实现顶级接口
  12. P5385 [Cnoi2019]须臾幻境 LCT+主席树 维护区间联通块个数
  13. 合肥工业大学计算机学院任恒,合肥工业大学计算机与信息学院导师教师师资介绍简介-△张玉红...
  14. goland切换换行/不换行快捷键
  15. Unity 使用贝塞尔曲线实现抛物线运动
  16. pid实现小车巡线绕桩
  17. 恶搞版西游记,99%的人看完后当场含笑而死
  18. 气体浓度监测在煤粉制备系统火灾预警中的应用
  19. uniapp-条件编译安卓Android/苹果iOS
  20. 2005年中国BBS社区100强

热门文章

  1. PHP TCPDF导出订单合同并且每页加一个印章
  2. QT实现串口调试助手(一)
  3. unity 获取屏幕角坐标_Unity3D世界坐标与屏幕坐标
  4. 交叉编译工具链的安装以及介绍
  5. git教程——安装和环境配置(1)
  6. [深度学习] Python人脸识别库face_recognition使用教程
  7. 亲测沉梦Free免费易支付系统源码支持码支付
  8. 在线运行此php解密navicat导出的密码!(用于navicat已经连接数据库但是忘记了密码)
  9. 计算机三级信息安全技术试题与答案,计算机三级《信息安全技术》练习题与答案...
  10. ZXing条码扫描-竖屏解决方案