零基础也能学会,python采集整站小说!

版权声明:禁止转载至其它平台,转载至博客需带上此文链接。 https://blog.csdn.net/qq_41841569/article/details/88776590

img

获取整站小说的url地址:

allurl='https://www.qidian.com/all?
当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢? 学习Python中有不明白推荐加入交流群                 号:683380553                 群里有志同道合的小伙伴,互帮互助,                 群里有不错的视频学习教程和PDF!
分析url地址:

可以看到当你翻页时page是会跟随着变化的,寻找变化的规律。

重点:

从利用python采集一本小说中的一章这个思路出发,从一本小说中采集一章与从一夜中采集一本是同一个道理,然后利用循环采集所有小说。

代码:

当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢? 学习Python中有不明白推荐加入交流群号:683380553群里有志同道合的小伙伴,互帮互助,群里有不错的视频学习教程和PDF!

allurl='https://www.qidian.com/all?orderId=&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0&page={}'
import requests
from lxml import etree
import os

for i in range(0,56495):
    url=allurl.format(i)
    #url='https://www.qidian.com/all'
    respond = requests.get(url).text
    #print(respond)
    html = etree.HTML(respond)
    data2 = html.xpath('//div[@class="book-mid-info"]/h4/a/text()')
    print(data2)
    data1 = html.xpath('//div[@class="book-mid-info"]/h4/a/@href')
    #print(data2)
    for shuming,lianjie in zip(data2,data1):
        #print(shuming,lianjie)·
        if os.path.exists(shuming) == False:
            os.mkdir(shuming)  # 创建文件夹
        zj=requests.get("http:"+lianjie).text
        html1=etree.HTML(zj)
        zjlj=html1.xpath('//ul[@class="cf"]/li/a/@href')
        zjmz=html1.xpath('//ul[@class="cf"]/li/a/text()')
        #print(zjlj)
        for a,b in zip(zjlj,zjmz):
            #print(a,b)
            respond1=requests.get('http:'+a).text
            html3=etree.HTML(respond1)
            wz=html3.xpath('//div[@class="read-content j_readContent"]/p/text()')
            wza=" ".join(wz)
            file_name = shuming + "\\" + b + ".txt"
            print("正在抓取文章:" + file_name)
            with open(file_name, 'a', encoding="utf-8") as f:
                f.write(wza)

img

猜你喜欢

转载自blog.csdn.net/qq_41841569/article/details/88776590