2020-11-04

起点小说免费版爬取

import requests
from lxml import etree
url="https://book.qidian.com/ajax/book/category?_csrfToken=NQQ4Nj6JAE1plYVqeNqlZrucSvDAs1UBmByiWZfb&bookId=1887208"
headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0'
}
response=requests.get(url=url,headers=headers)
response.encoding='utf-8'
page_text=response.json()
list=page_text['data']['vs']
list_detals=[[],[],[]]
for li in range(len(list)):
    if li==1: #普通章节
        nameone=list[li]['vN']
        listname=list[li]['cs']
        for lis in listname:
            chapter=lis['cN']
            book_url=lis['cU']
            id=lis['id']
            di1={}
            di1['chapter']=chapter
            di1['book_url']=book_url
            di1['id']=id
            list_detals[0].append(di1)
    if li==2:#会员章节
        nametwo=list[li]['vN']
        listname1=list[li]['cs']
        for lis in listname1:
            chapter_1=lis['cN']
            id1=lis['id']
            di2={}
            di2['chapter_1']=chapter_1
            di2['id1']=id1
            list_detals[1].append(di2)
    if li==3:#会员章节
        nametreen=list[li]['vN']
        listname2=list[li]['cs']
        for lis in listname2:
            chapter_2=lis['cN']
            id2=lis['id']
            di3={}
            di3['chapter_2']=chapter_2
            di3['id2']=id2
            list_detals[2].append(di3)
#第一卷
count=0
for i in list_detals[0]:
    books_url="https://read.qidian.com/chapter/"+i['book_url']
    page_text=requests.get(url=books_url,headers=headers).text
    tree=etree.HTML(page_text)
    line=tree.xpath("//div[@class='read-content j_readContent ']/p")
    for li in line:
        p=li.xpath("./text()")[0]
        print(p)
    count+=1
    print("正在爬取第{}页".format(count))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值