新手如何使用python爬取网络小说

本人闲来无事心血来潮要爬取网络小说,下面这个代码就是本人目前在用的,如有更简单的可以来私信我。

在这里我用的是这个网址,当然你们也可以用其他的

在python中只需要导入两个库就行了

import requests
import parsel

在这里requsts库就不必多说了,使用parsel模块它可以直接调用re,css和xpath

一,先导入requests模块,在使用url查询地址

import requests

url = ''

在这里我们以蛊真人为例

点击F12进入开发者模式,点击第一章,在网络里面随便搜索一个,在这里我搜索的是第一节,找到它的url

import requests

url = 'https://www.dxmwx.org/read/38127_8939547.html'

二,我们要进行伪装,把我们的请求伪装成普通的浏览器访问,使用headers进行伪装

import requests

url = 'https://www.dxmwx.org/read/38127_8939547.html'

headers = {


}

我们去标头去找到他的user-agent

然后就可以进行伪装了

import requests

url = 'https://www.dxmwx.org/read/38127_8939547.html'

headers = {
'user-agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0'

}

然后进行请求使用response

import requests

url = 'https://www.dxmwx.org/read/38127_8939547.html'

headers = {
'user-agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0'

}

response = requests.get(url,headers=headers).text

print(response)

打印完之后就可以看到我们想要的内容

然后在这时候就可以加入我们的parsel模块了

import requests
import parsel

url = 'https://www.dxmwx.org/read/38127_8939547.html'

headers = {
'user-agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0'

}

response = requests.get(url,headers=headers).text

print(response)

然后我们创建一个变量用来接收parsel返回的信息

import requests
import parsel

url = 'https://www.dxmwx.org/read/38127_8939547.html'

headers = {
'user-agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0'

}

response = requests.get(url,headers=headers).text

print(response)

Selsctor = parsel.Selector(response)

接着我们在这里使用书名当变量,用css语句来提取内容

章节名也是一样的方法去他当作变量名,使用css来接收

然后我们使用print打印一下看看是不是我们想要的内容

import requests
import parsel

url = 'https://www.dxmwx.org/read/38127_8939547.html'

headers = {
'user-agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0'

}

response = requests.get(url,headers=headers).text


Selector = parsel.Selector(response)

ChapterTitle = Selector.css('#ChapterTitle ::text').get()
Lab_Contents = Selector.css('#Lab_Contents p::text').getall()

print(ChapterTitle)
print(Lab_Contents)

在这里我们发现没有错了是我们要找的,然后我们使用join语句把它转换成字符串

import requests
import parsel

url = 'https://www.dxmwx.org/read/38127_8939547.html'

headers = {
'user-agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0'

}

response = requests.get(url,headers=headers).text


Selector = parsel.Selector(response)

ChapterTitle = Selector.css('#ChapterTitle ::text').get()
Lab_Contents = Selector.css('#Lab_Contents p::text').getall()

con = '\n\n'.join(Lab_Contents)

print(ChapterTitle)
print(con)

然后我们就可以看到第一张已经被我们爬取下来了

爬取成功后我们就可以把他下载到我们的本地了使用with open的方法下载下来

with open(f'小说/{ChapterTitle}', 'w') as f:
    f.write(con)
    
print("下载成功")

我们发现已经下载到本地了

到这里我们的使用python爬取网络小说已经成功了并且已经和保存到了本地,如果这篇文章反响好的话我会去更新怎么批量爬取网络小说,不是爬取单章小说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值