python 扒取大主宰

来源:互联网 发布:盗取qq密码软件 编辑:程序博客网 时间:2024/06/10 03:55
import urllib.requestimport redef getHtml(url):    page = urllib.request.urlopen(url)    html = page.read()    return htmldef getTxt(html):    html_txt = str(html, encoding="utf-8")    start = html_txt.find("<h1>") + 4    end = html_txt.find('</h1>')    txt = html_txt[start:end]+"\n"    start = html_txt.find('<div id="content">') + 25    end = html_txt.find('<script>chaptererror();</script>')    txt += html_txt[start:end]    return txtdef dealTxt(txt):    strinfo = re.compile(' ')    txt = strinfo.sub('', txt)    strinfo = re.compile(' ')    txt = strinfo.sub(' ', txt)    strinfo = re.compile('<br.{0,1}>')    txt = strinfo.sub('\n', txt)    return txtdef writeFile(txt,name):    html_file = open("./res/"+name+".txt", "a")    html_file.write(txt)    html_file.close()def getNextURL(html):    str_init_url = str(re.search("pager_next.{0,20}(\d+\\.html).", str(html)).group())    str_sub_url = str(re.search("(\d+\\.html)", str_init_url).group())    return "http://www.biqulou.net/24/24835/"+str_sub_urlurl = "http://www.biqulou.net/24/24835/7406090.html"count = 0while bool(url):    html = getHtml(url)    txt = getTxt(html)    deal_txt = dealTxt(txt)    try:        writeFile(deal_txt,"大主宰")        count += 1    except ValueError:        writeFile("获取章节失败\n", "大主宰")    url = getNextURL(html)    print(count)

这是用python 3.4写的一个扒取大主宰的一个小项目

最近在看python 3,没学过python2.x照着网上的一些关于python2.x写的关于一些关于网络爬虫的代码(http://www.cnblogs.com/fnng/p/3576154.html)写了这个扒取笔趣阁上大主宰的代码

但是我却觉得不是很好,也请各路大神指教

下面我先说在此过程中遇到的一些问题

1、我不是很了解什么事网络爬虫,也不知道如何筛选有用的URL,所以写的代码很僵硬,没有很好的移植性

2、在扒取正文正文时遇到过一个问题,遇到一些非法字符不能读取

希望以后的学习中能改善这些题

1 0
原创粉丝点击