python编程获取《续蜀山剑侠传》目录信息:目录名称和网址

简介: python编程获取《续蜀山剑侠传》目录信息:目录名称和网址

首先要获取目录信息,主要是目录名称和网址。通过分析连载网站的网页源代码,编写Python代码如下:

# -*- coding:UTF-8 -*-
import urllib.request, sys
import re
def openUrl(url):
   try:
      page = urllib.request.urlopen(url, data=None, timeout=5)
   except urllib.error.HTTPError as e:
     print(e.code)
     print(e.reason)
     return ''
   except urllib.error.URLError as e:
     print(e.reason)
     return ''
   else:    
      html = page.read().decode('utf-8')
     return html
def getList(html, tag):
   i = html.find(tag)
   if i == -1:
      print ('没有找到' + tag)
     return ''
   else:
      con = html[i+len(tag):]
      #print ("前30个字符:" + con[:30])
      tag = 'ul'
     tag_pat = r'(?<=<'+ tag + '>).*?(?=</' + tag + '>)'  
     tag_ex = re.compile(tag_pat, re.M|re.S)  
      con = re.findall(tag_ex, con)
      #con = html.split('正文')
     #print (con[0])
     return con[0]
def printList(list, host):
   #获取text
   res = r'(.*?)'
   t =  re.findall(res, list, re.S|re.M)
   #获取href
   res_url = r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')"
   h = re.findall(res_url, list, re.I|re.S|re.M)
   
   for i in range(len(t)):
     print (str(i+1) + '\t' + t[i] + '\t' + host + h[i])
def main():
   url = 'http://www.mengxi.net/book/263745/index.html'
   i = url.index('/', 7)
   host = url[0 : i]
   print ('打开' + url)
   html = openUrl(url)
   if len(html) > 0:
      tag = '正文'
      list = getList(html, tag)
     printList(list, host)
main()


程序运行结果如下:

image.png

相关文章
|
19小时前
|
Python
python编程获取续蜀山剑侠传:从目录名称、网址到内容
python编程获取续蜀山剑侠传:从目录名称、网址到内容
|
14小时前
|
Python
Python获取二级目录的第二文件名
Python获取二级目录的第二文件名
|
3月前
|
Linux Windows
09. 【Linux教程】ls 查看文件和目录列表
09. 【Linux教程】ls 查看文件和目录列表
61 0
|
4月前
|
开发者 Python
Python语言的文件及目录访问
Python语言的文件及目录访问
|
4月前
|
XML 数据格式
熟练使用浏览目录类命令
熟练使用浏览目录类命令。
72 2
|
4月前
|
定位技术 Python
Python依据某一文件夹中大量文件的名称复制另一文件夹中的同名文件
Python依据某一文件夹中大量文件的名称复制另一文件夹中的同名文件
|
编解码 数据安全/隐私保护 Python
Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理
Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理
228 0
|
编解码 数据安全/隐私保护 Python
Python操作FTP服务器实现文件和文件夹的上传与下载,python清理ftp目录下的所有文件和非空文件夹
Python操作FTP服务器实现文件和文件夹的上传与下载,python清理ftp目录下的所有文件和非空文件夹
236 0
|
存储 JSON 安全
electron如何自定义目录,修改文件名保存下载的网络文件
很多同学觉得用localstorage可以代替vuex, 对于不变的数据确实可以,但是当两个组件共用一个数据源(对象或数组)时,如果其中一个组件改变了该数据源,希望另一个组件响应该变化时,localstorage无法做到,原因就是区别1。
electron如何自定义目录,修改文件名保存下载的网络文件
|
Linux C语言
Linux:文件目录类指令(内含:文件目录所有用法总结摘要+所有用法案例)
Linux:文件目录类指令(内含:文件目录所有用法总结摘要+所有用法案例)
158 0
Linux:文件目录类指令(内含:文件目录所有用法总结摘要+所有用法案例)