python爬取文章_python3.7爬取新浪博客所有文章存入word

本文使用python抓取新浪博客全部文章的源码基于网上旧版教程,因网上同类文章重复过多,很多站点的python爬取教程都是一模一样,该教程的原始出处已无法考证。现在网上流传的教程基本已经无法在python3.7版本下运行了,需要进行不少修改,这次的代码写的比较仓促,有很多累赘代码没有时间删除优化。另外在使用这个python爬取的过程中发现对表格的支持不友好,另外不支持爬取图片。爬取图片的教程网上有很多,也可以参考我之前的文章:python3.7保存防盗链图片referer

本代码基本保留了网上流传老版本的所有代码,并已针对python3.7环境做出相应的修改(同时也保留了老版本大代码,但是注释掉了否则无法运行)

import urllib

#import urllib2

import urllib.request

import re

#from urllib import urlopen

from urllib.request import urlopen

class Tool:

#去除img标签,7位长空格

removeImg = re.compile('| {7}|')

#删除超链接标签

removeAddr = re.compile('|')

#把换行的标签换为\n

replaceLine = re.compile('

|
|')

#将表格制表

替换为\t

replaceTD= re.compile('

')

#把段落开头换为\n加空两格

replacePara = re.compile('

')

#将换行符或双换行符替换为\n

replaceBR = re.compile('

|
')

#将其余标签剔除

removeExtraTag = re.compile('<.*?>')

def replace(self,x):

x = re.sub(self.removeImg,"",x)

x = re.sub(self.removeAddr,"",x)

x = re.sub(self.replaceLine,"\n",x)

x = re.sub(self.replaceTD,"\t",x)

x = re.sub(self.replacePara,"\n ",x)

x = re.sub(self.replaceBR,"\n",x)

x = re.sub(self.removeExtraTag,"",x)

#strip()将前后多余内容删除

return x.strip()

class XLBK:

def __init__(self,baseUrl,articleTag,fileName):

self.baseURL=baseUrl

self.tool=Tool()

self.file=None

self.article=1

self.defaultTitle=u'新浪博客'

self.articleTag=articleTag

self.fi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值