用python解析html批量修改文件名
本地有很多php+html代码文件,可是文件名是url(数据库直接导出),怎么把文件名批量修改成html的title呢?这里需要用到两个模块,一个是OS,用于进行文件操作;另一个是BeautifulSoup,用来解析html文件。
当然,这个过程中会有跟多坑,稍微不注意就会掉进坑里。
坑1:
编码
解决方式:文件打开用编码范围最广的gb18030,decode('gb18030','ignore')
这样之后错误少很多了,但还是会报错,从而造成循环终止。为了使得程序继续运行,可以使用以下代码形式来使得循环跳过错误继续进行。12345try: code1 code2except(error): continue
坑2:
路径
很多网站html的title不是很规范,比如36大院的title里还包含很多表情符号,比如*
%
^
——
/
之类的,windows不支持这些直接作为文件名,所以报错,需要进行替换。如果会正则的话比较容易,如果不会的话……那就repalce吧。以及如果包含/
,系统会认为这是一个路径,而不是文件名所以报错,一定要注意这一点。
解决方式:把文件名中的/
替换掉
代码如下:
|
|
重命名之前:
包含两种文件,一种是一个的id只有一页;一种是一个id有很多页,page不同,正则提取page放入文件名后面加以区分
重命名之后:
ps:
这个是36大院的数据库文件。知道36大院的小伙伴请让我看到你们的双手!!!!!!