python 扒取大主宰

import urllib.request
import re

def getHtml(url):
    page = urllib.request.urlopen(url)
    html = page.read()

    return html

def 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 txt

def 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 txt

def 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_url


url = "http://www.biqulou.net/24/24835/7406090.html"
count = 0
while 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、在扒取正文正文时遇到过一个问题,遇到一些非法字符不能读取

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值