python 爬虫实例

//新手爬虫在线爬小说,大佬略过~~~~~
# -*- coding:utf-8 -*-
import re
import sys
import os
from time import sleep

from bs4 import BeautifulSoup
import requests
reload(sys)
sys.setdefaultencoding('utf-8')
//上面的是引得包和解决一些bug的,什么证书问题什么的



def xs2(url,):
    path = r'E:/Desktop/img/cc.txt'
    localPath = unicode(path, 'utf-8')//转译,如果路径中有中文可能报错
    req = requests.get(url, headers=headers).text//headers写自己浏览器的header是
    soup = BeautifulSoup(req, 'html.parser')//这里用的BeautifulSoup,因为比较容易匹配
    list = soup.find_all('p')//因为纵横的小说html正文都是写在<p>所有匹配p标签
    title_txtbox = soup.find_all(class_='title_txtbox')//匹配书名
    fn = open(localPath, 'a+')//写入
    fn.write(title_txtbox[0].get_text())
    for i in range(0, len(list)):
        pp = list[i].get_text()
        fn.write(pp)
        print "正在写入" + pp
    fn.write("\n")//写完1章来个换行
    fn.close()
    nextchapter = soup.find_all(class_='nextchapter')//获取下一章的链接
    ree=re.findall(r'href="(.*?)"',str(nextchapter))匹配href的属性,(.*?)表示这是我要的
    sleep(2)//睡2秒,太快可能被反爬虫封杀了ip可以换个headers继续使用,平常的话建议用比人的headers 23333
    xs2(str(ree).strip("['").strip("']"))//因为匹配的下一章的链接中前后有[ ]所有删掉,,循环调入直到下载完,但是可能会被 封杀警告
if __name__ == '__main__':
    url = 'http://book.zongheng.com/chapter/769917/43006084.html'//纵横小说网址
    xs2(url)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值