最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

2024年Python最全项目实践《小说网站数据爬取》,2024年最新今年Python面试必问的这些技术面

业界 admin 9浏览 0评论

做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。

别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。

我先来介绍一下这些东西怎么用,文末抱走。


(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

(4)200多本电子书

这些年我也收藏了很多电子书,大概200多本,有时候带实体书不方便的话,我就会去打开电子书看看,书籍可不一定比视频教程差,尤其是权威的技术书籍。

基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。

(5)Python知识点汇总

知识点汇总有点像学习路线,但与学习路线不同的点就在于,知识点汇总更为细致,里面包含了对具体知识点的简单说明,而我们的学习路线则更为抽象和简单,只是为了方便大家只是某个领域你应该学习哪些技术栈。

(6)其他资料

还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。

这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以直接抱走,关注过我的人都知道,这些都是可以拿到的。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!


**其中除’Cookie‘标签请求头以外的请求头较为常见不做过多讲述,直接用就好。Cookie请求头每个网站页面的都不同,出处如下:**  
 1.找到想要爬取的网站,按F2打开开发者模式,以下用有较为复杂发爬取措施的“起点小说网站”作为示范,如果掌握了那么其他网站的操作也不再话下。  
 ![在这里插入图片描述](https://img-blog.csdnimg/direct/b2b9dcdfcfac4989b1753e3fc0631d21.png)  
 2.可以看到,因为反爬取措施,我们的开发者模式会一直卡在调试阶段无法获取资源。下面我们将利用断点操作导出正常界面。(按照如图操作,打开源代码,点击断电停用,点击恢复脚本执行)  
 ![在这里插入图片描述](https://img-blog.csdnimg/direct/d7974e9860394a4896bb7b230e7e6798.png#pic_center)  
 3.操作完成后就可以开启开发者模式,接下来(按照如图操作,打开网络,点击清除网络日志,刷新,点击js文件)


![在这里插入图片描述](https://img-blog.csdnimg/direct/0c09637c7f4541f194e54d63d2c7cdef.png#pic_center)  
 4.就可以看到文件下的’Cookie‘标签拿到后复制#请求代码中就可以拥有访问权限  
 ![在这里插入图片描述](https://img-blog.csdnimg/direct/2af8609889fd492dbcbc8dad4b7937b4.png#pic_center)


## 四、“起点小说”网站


### 发起请求并解析得到的HTML:


调用requests库的get方法发出GET请求,然后用BeautifulSoup解析接收到的HTML页面。



res = requests.get(url,headers=headers)


### 获取所有章节和链接:


从解析得到的HTML中找出所有class为’chapter-name’的a标签元素,因为这些a标签包含了章节的名称和链接。  
 对找出的每个a标签,使用[‘href’]获取其href属性值,即章节的相对链接。分割链接得到章节的id,然后构造新的URL作为具体章节页面的链接。  
 再次发起GET请求,获取具体章节的HTML页面,然后用BeautifulSoup进行解析。  
 在解析得到的HTML中找出所有p标签元素,这些p标签包含了这个章节的文本内容。



#处理数据
bs = BeautifulSoup(res.text,‘html.parser’)

#获取所有章节
bs_a = bs.find_all(‘a’,class_=‘chapter-name’)

for i in range(len(bs_a)):

print(bs_a[i].text)

#获取所有章节链接
for i in bs_a:
id = i[‘href’].split(‘/’)[-2]
url2 = f"https://www.qidian/chapter/1038464373/{id}“+”/"
res2 = requests.get(url2, headers=headers)

bs2 = BeautifulSoup(res2.text, 'html.parser')
bs2_p = bs2.find\_all('p')
time.sleep(1)

### 保存得到的章节内容:


用with语句打开一个新的txt文件,文件名等于章节的名字。然后遍历所有的p标签,将其中的文本内容写入到文件中,每个p标签的文本后都添加一个换行符。这一步完成后,就成功地把小说的一章保存到本地文件里了。



with open(f"{i.text}.txt", ‘a’, encoding=‘utf-8’) as f:
for j in bs2_p:
f.write(j.text)
f.write(‘\n’)


## 五、“起点小说”网站完整版脚本


整个脚本的基本流程是:先获取目录页,查找出所有章节的链接和名字,然后进入每个具体的章节页面,获取章节的文本内容,最后将内容保存到txt文件中。每处理完一章都暂停1秒,以免访问过快而被服务器封锁。



#起点小说网站
#导库
import requests
from bs4 import BeautifulSoup
import time

#寻址
url = “https://www.qidian/book/1038464373/”

#请求
headers = {
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36’,
‘Accept’: ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9’,
‘Accept-Language’: ‘en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7’,
‘Accept-Encoding’: ‘gzip, deflate, br’,
‘DNT’: “1”,
‘Connection’: ‘keep-alive’,
‘Upgrade-Insecure-Requests’: ‘1’,
‘Sec-Fetch-Site’: ‘none’,
‘Sec-Fetch-Mode’: ‘navigate’,
‘Sec-Fetch-User’: ‘?1’,
‘Sec-Fetch-Dest’: ‘document’,
‘Cookie’:‘_csrfToken=VNpSGeOeI4x9OxUNY7BeYEbL12i4sRAy0H3BYg15; newstatisticUUID=1710636870_1641355660; fu=191679000; traffic_utm_referer=https%3A//cn.bing/; supportwebp=true; w_tsfp=ltvgWVEE2utBvS0Q6Krvl02mETg7Z2R7xFw0D+M9Os09AKUiWpaE04F8utfldCyCt5Mxutrd9MVxYnGBUNUtdRAXQsmZb5tH1VPHx8NlntdKRQJtA5LUW1FKduhwuDBPKmxbcUDk32coIdZJyb1n2wgFunYn37ZlCa8hbMFbixsAqOPFm/97DxvSliPXAHGHM3wLc+6C6rgv8LlSgW2DugDuLi11A7lK1EOW1i8cG3pV8w2pJbsDal7wcpK9Uv8wrTPzwjn3apCs2RYj4VA3sB49AtX02TXKL3ZEIAtrZUqukO18Lv3wdaN4qzsLVP1NGFhDqVwRs+o5/01LDXvsNn2KA/l7tlIGRPNbrcq+NA==’}
res = requests.get(url,headers=headers)

#处理数据
bs = BeautifulSoup(res.text,‘html.parser’)

#获取所有章节
bs_a = bs.find_all(‘a’,class_=‘chapter-name’)

for i in range(len(bs_a)):

print(bs_a[i].text)

#获取所有章节链接
for i in bs_a:
id = i[‘href’].split(‘/’)[-2]
url2 = f"https://www.qidian/chapter/1038464373/{id}“+”/"
res2 = requests.get(url2, headers=headers)

bs2 = BeautifulSoup(res2.text, ‘html.parser’)
bs2_p = bs2.find_all(‘p’)
time.sleep(1)
with open(f"{i.text}.txt", ‘a’, encoding=‘utf-8’) as f:
for j in bs2_p:
f.write(j.text)
f.write(‘\n’)


## 六、“笔趣阁”网站


这个Python脚本是用来抓取“笔趣阁”网站上的小说内容,并将内容保存到本地的txt文件中。以下是对每个部分的解析:


### 预定义参数部分:


定义了请求的headers和url。headers中的User-Agent字段用于模拟浏览器请求,防止服务器识别出非浏览器的访问并进行拦截。url是待抓取小说的目录页地址。  
 相比于”起点小说“没有反爬措施直接用



#请求
headers = {
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36’,
‘Accept’: ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9’,
‘Accept-Language’: ‘en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7’,
‘Accept-Encoding’: ‘gzip, deflate, br’,
‘DNT’: “1”,
‘Connection’: ‘keep-alive’,
‘Upgrade-Insecure-Requests’: ‘1’,
‘Sec-Fetch-Site’: ‘none’,
‘Sec-Fetch-Mode’: ‘navigate’,
‘Sec-Fetch-User’: ‘?1’,
‘Sec-Fetch-Dest’: ‘document’,
}


或者只写第一行也行



headers = {
‘User-Agent’:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36’
}


### 主程序部分:


发起请求获取小说目录页内容,然后使用BeautifulSoup解析获取到的HTML内容。  
 使用select方法选取所有章节链接的html元素,并将返回的列表赋值给soup\_html。  
 遍历soup\_html,对每个元素,使用[“href”]获取其链接,使用.text获取其文本内容(即章节名)。如果链接包含"/book",说明是有效的章节链接。  
 定义新的URL为章节的完整链接,然后发起请求获取该章节的页面内容,并使用BeautifulSoup解析。  
 使用find\_all方法获取章节页面中id为"chaptercontent"的元素,这个元素中包含了章节的文本内容。



res = requests.get(url,headers=headers)

soup = BeautifulSoup(res.text,“html.parser”)

soup_html = soup.select(“div.listmain dl dd a”)#子元素选择,select返回的是列表

for html in soup_html:
href = html[“href”] #获取href属性
name = html.text #获取文本信息
if “/book” in href:
new_url = f"https://www.bqg70{href}"
new_res = requests.get(url=new_url,headers=headers)
new_soup = BeautifulSoup(new_res.text,“html.parser”)
div_id = new_soup.find_all(“div”,id = “chaptercontent”)



如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费**学习**大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。



### 一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。



![](https://img-blog.csdnimg/img_convert/9f49b566129f47b8a67243c1008edf79.png)

### 二、学习软件



工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。



![](https://img-blog.csdnimg/img_convert/8c4513c1a906b72cbf93031e6781512b.png)



### 三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

![](https://img-blog.csdnimg/img_convert/eec417a3d4d977b313558a11d3c13e43.png)



### 四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。



![](https://img-blog.csdnimg/img_convert/ec690501ea1dbe2cb209cbf4013c2477.png)  

![](https://img-blog.csdnimg/img_convert/3eaeaa6747419c9d86c72e0d10d0a6a2.png)



### 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。



![](https://img-blog.csdnimg/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)



### 五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

![](https://img-blog.csdnimg/img_convert/6c361282296f86381401c05e862fe4e9.png)

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。

别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。

我先来介绍一下这些东西怎么用,文末抱走。


(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

(4)200多本电子书

这些年我也收藏了很多电子书,大概200多本,有时候带实体书不方便的话,我就会去打开电子书看看,书籍可不一定比视频教程差,尤其是权威的技术书籍。

基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。

(5)Python知识点汇总

知识点汇总有点像学习路线,但与学习路线不同的点就在于,知识点汇总更为细致,里面包含了对具体知识点的简单说明,而我们的学习路线则更为抽象和简单,只是为了方便大家只是某个领域你应该学习哪些技术栈。

(6)其他资料

还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。

这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以直接抱走,关注过我的人都知道,这些都是可以拿到的。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!


**其中除’Cookie‘标签请求头以外的请求头较为常见不做过多讲述,直接用就好。Cookie请求头每个网站页面的都不同,出处如下:**  
 1.找到想要爬取的网站,按F2打开开发者模式,以下用有较为复杂发爬取措施的“起点小说网站”作为示范,如果掌握了那么其他网站的操作也不再话下。  
 ![在这里插入图片描述](https://img-blog.csdnimg/direct/b2b9dcdfcfac4989b1753e3fc0631d21.png)  
 2.可以看到,因为反爬取措施,我们的开发者模式会一直卡在调试阶段无法获取资源。下面我们将利用断点操作导出正常界面。(按照如图操作,打开源代码,点击断电停用,点击恢复脚本执行)  
 ![在这里插入图片描述](https://img-blog.csdnimg/direct/d7974e9860394a4896bb7b230e7e6798.png#pic_center)  
 3.操作完成后就可以开启开发者模式,接下来(按照如图操作,打开网络,点击清除网络日志,刷新,点击js文件)


![在这里插入图片描述](https://img-blog.csdnimg/direct/0c09637c7f4541f194e54d63d2c7cdef.png#pic_center)  
 4.就可以看到文件下的’Cookie‘标签拿到后复制#请求代码中就可以拥有访问权限  
 ![在这里插入图片描述](https://img-blog.csdnimg/direct/2af8609889fd492dbcbc8dad4b7937b4.png#pic_center)


## 四、“起点小说”网站


### 发起请求并解析得到的HTML:


调用requests库的get方法发出GET请求,然后用BeautifulSoup解析接收到的HTML页面。



res = requests.get(url,headers=headers)


### 获取所有章节和链接:


从解析得到的HTML中找出所有class为’chapter-name’的a标签元素,因为这些a标签包含了章节的名称和链接。  
 对找出的每个a标签,使用[‘href’]获取其href属性值,即章节的相对链接。分割链接得到章节的id,然后构造新的URL作为具体章节页面的链接。  
 再次发起GET请求,获取具体章节的HTML页面,然后用BeautifulSoup进行解析。  
 在解析得到的HTML中找出所有p标签元素,这些p标签包含了这个章节的文本内容。



#处理数据
bs = BeautifulSoup(res.text,‘html.parser’)

#获取所有章节
bs_a = bs.find_all(‘a’,class_=‘chapter-name’)

for i in range(len(bs_a)):

print(bs_a[i].text)

#获取所有章节链接
for i in bs_a:
id = i[‘href’].split(‘/’)[-2]
url2 = f"https://www.qidian/chapter/1038464373/{id}“+”/"
res2 = requests.get(url2, headers=headers)

bs2 = BeautifulSoup(res2.text, 'html.parser')
bs2_p = bs2.find\_all('p')
time.sleep(1)

### 保存得到的章节内容:


用with语句打开一个新的txt文件,文件名等于章节的名字。然后遍历所有的p标签,将其中的文本内容写入到文件中,每个p标签的文本后都添加一个换行符。这一步完成后,就成功地把小说的一章保存到本地文件里了。



with open(f"{i.text}.txt", ‘a’, encoding=‘utf-8’) as f:
for j in bs2_p:
f.write(j.text)
f.write(‘\n’)


## 五、“起点小说”网站完整版脚本


整个脚本的基本流程是:先获取目录页,查找出所有章节的链接和名字,然后进入每个具体的章节页面,获取章节的文本内容,最后将内容保存到txt文件中。每处理完一章都暂停1秒,以免访问过快而被服务器封锁。



#起点小说网站
#导库
import requests
from bs4 import BeautifulSoup
import time

#寻址
url = “https://www.qidian/book/1038464373/”

#请求
headers = {
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36’,
‘Accept’: ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9’,
‘Accept-Language’: ‘en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7’,
‘Accept-Encoding’: ‘gzip, deflate, br’,
‘DNT’: “1”,
‘Connection’: ‘keep-alive’,
‘Upgrade-Insecure-Requests’: ‘1’,
‘Sec-Fetch-Site’: ‘none’,
‘Sec-Fetch-Mode’: ‘navigate’,
‘Sec-Fetch-User’: ‘?1’,
‘Sec-Fetch-Dest’: ‘document’,
‘Cookie’:‘_csrfToken=VNpSGeOeI4x9OxUNY7BeYEbL12i4sRAy0H3BYg15; newstatisticUUID=1710636870_1641355660; fu=191679000; traffic_utm_referer=https%3A//cn.bing/; supportwebp=true; w_tsfp=ltvgWVEE2utBvS0Q6Krvl02mETg7Z2R7xFw0D+M9Os09AKUiWpaE04F8utfldCyCt5Mxutrd9MVxYnGBUNUtdRAXQsmZb5tH1VPHx8NlntdKRQJtA5LUW1FKduhwuDBPKmxbcUDk32coIdZJyb1n2wgFunYn37ZlCa8hbMFbixsAqOPFm/97DxvSliPXAHGHM3wLc+6C6rgv8LlSgW2DugDuLi11A7lK1EOW1i8cG3pV8w2pJbsDal7wcpK9Uv8wrTPzwjn3apCs2RYj4VA3sB49AtX02TXKL3ZEIAtrZUqukO18Lv3wdaN4qzsLVP1NGFhDqVwRs+o5/01LDXvsNn2KA/l7tlIGRPNbrcq+NA==’}
res = requests.get(url,headers=headers)

#处理数据
bs = BeautifulSoup(res.text,‘html.parser’)

#获取所有章节
bs_a = bs.find_all(‘a’,class_=‘chapter-name’)

for i in range(len(bs_a)):

print(bs_a[i].text)

#获取所有章节链接
for i in bs_a:
id = i[‘href’].split(‘/’)[-2]
url2 = f"https://www.qidian/chapter/1038464373/{id}“+”/"
res2 = requests.get(url2, headers=headers)

bs2 = BeautifulSoup(res2.text, ‘html.parser’)
bs2_p = bs2.find_all(‘p’)
time.sleep(1)
with open(f"{i.text}.txt", ‘a’, encoding=‘utf-8’) as f:
for j in bs2_p:
f.write(j.text)
f.write(‘\n’)


## 六、“笔趣阁”网站


这个Python脚本是用来抓取“笔趣阁”网站上的小说内容,并将内容保存到本地的txt文件中。以下是对每个部分的解析:


### 预定义参数部分:


定义了请求的headers和url。headers中的User-Agent字段用于模拟浏览器请求,防止服务器识别出非浏览器的访问并进行拦截。url是待抓取小说的目录页地址。  
 相比于”起点小说“没有反爬措施直接用



#请求
headers = {
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36’,
‘Accept’: ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9’,
‘Accept-Language’: ‘en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7’,
‘Accept-Encoding’: ‘gzip, deflate, br’,
‘DNT’: “1”,
‘Connection’: ‘keep-alive’,
‘Upgrade-Insecure-Requests’: ‘1’,
‘Sec-Fetch-Site’: ‘none’,
‘Sec-Fetch-Mode’: ‘navigate’,
‘Sec-Fetch-User’: ‘?1’,
‘Sec-Fetch-Dest’: ‘document’,
}


或者只写第一行也行



headers = {
‘User-Agent’:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36’
}


### 主程序部分:


发起请求获取小说目录页内容,然后使用BeautifulSoup解析获取到的HTML内容。  
 使用select方法选取所有章节链接的html元素,并将返回的列表赋值给soup\_html。  
 遍历soup\_html,对每个元素,使用[“href”]获取其链接,使用.text获取其文本内容(即章节名)。如果链接包含"/book",说明是有效的章节链接。  
 定义新的URL为章节的完整链接,然后发起请求获取该章节的页面内容,并使用BeautifulSoup解析。  
 使用find\_all方法获取章节页面中id为"chaptercontent"的元素,这个元素中包含了章节的文本内容。



res = requests.get(url,headers=headers)

soup = BeautifulSoup(res.text,“html.parser”)

soup_html = soup.select(“div.listmain dl dd a”)#子元素选择,select返回的是列表

for html in soup_html:
href = html[“href”] #获取href属性
name = html.text #获取文本信息
if “/book” in href:
new_url = f"https://www.bqg70{href}"
new_res = requests.get(url=new_url,headers=headers)
new_soup = BeautifulSoup(new_res.text,“html.parser”)
div_id = new_soup.find_all(“div”,id = “chaptercontent”)



如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费**学习**大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。



### 一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。



![](https://img-blog.csdnimg/img_convert/9f49b566129f47b8a67243c1008edf79.png)

### 二、学习软件



工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。



![](https://img-blog.csdnimg/img_convert/8c4513c1a906b72cbf93031e6781512b.png)



### 三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

![](https://img-blog.csdnimg/img_convert/eec417a3d4d977b313558a11d3c13e43.png)



### 四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。



![](https://img-blog.csdnimg/img_convert/ec690501ea1dbe2cb209cbf4013c2477.png)  

![](https://img-blog.csdnimg/img_convert/3eaeaa6747419c9d86c72e0d10d0a6a2.png)



### 四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。



![](https://img-blog.csdnimg/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)



### 五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

![](https://img-blog.csdnimg/img_convert/6c361282296f86381401c05e862fe4e9.png)

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论