爬取小说案例-斗破苍穹(原创)

      有时候看小说还要在网页看,下载还要付费,所以我用python直接下载好文件,传在手机就可以看,非常的方便,所以我就拿大家比较熟知的电子书斗破苍穹为例子提供大家参考

这个操作需要的工具:python3版本以上

一个编辑器建议:pycharm

第三方库:request os re

还要一个会粘贴复制而手

话不多说,代码在下面,需要的小伙伴拿去用吧

# 第三方库引用
import requests
import re
import os
import time
# 数据存放目录   会用到os库
if not os.path.exists('斗破苍穹'):
    os.makedirs('斗破苍穹')

# 请求头  会用到requests库
dou_1_url = "http://www.xbiquge.la/7/7877/"
headers = {
    'Host': 'www.xbiquge.la',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'
}
response = requests.get(dou_1_url, headers=headers)
response.encoding = response.apparent_encoding
result_1 = response.text
# print(result_1)

# 正则表达式   提取目录 用到re库
result_2 = re.findall("<dd><a href='/7/7877/(.*?)' >(.*?)</a></dd>", result_1)
# print(result_2)

# 提取名字和网址
for url_, name in result_2:
    dou_2_url = dou_1_url + url_
    # print(name, dou_2_url)
    # 响应提取的网址
    time.sleep(0.5)
    response_ = requests.get(dou_2_url, headers=headers)
    response_.encoding = response_.apparent_encoding
    result_3 = re.findall('&nbsp;&nbsp;&nbsp;&nbsp;(.*?)<br /><br /><p><a', response_.text, re.S)

    # 保存
    with open('斗破苍穹\\'+name, mode='w', encoding='utf-8')as f:
        f.write(result_3[0].replace('<br />', '').replace('&nbsp;', ''))
        print('正在下载:', name)
print('end')

猜你喜欢

转载自blog.csdn.net/Green_F/article/details/107784240