爬虫——爬取网站中的免费小说

本文介绍了一种使用Python的requests和re模块抓取网络小说的方法,详细展示了如何从指定网站获取小说目录及各章节内容,进行数据清洗并保存为txt文件的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爬取小说

#导入模块 爬虫:requests 和 正则:re
import requests
import re

#输入网址
url=‘http://www.shuquge.com/txt/5809/index.html
response=requests.get(url,)
response.encoding=‘utf-8’ # 定义编码格式(或用gbk)
#print(response.text)

#小说名 例:《元尊》
title=“元尊”
f=open("%s.txt"%title,“w”,encoding=‘utf-8’)
#print(response.text)

print("----------------------------------------------------------------------------------------------------------------------------------")
print("----------------------------------------------------------------------------------------------------------------------------------")

#目标小说的目录代码
html=response.text

#d1=re.search(r’

《元尊》正文 (. ?)元尊相关推荐:’,html,re.S).group(1)
d1=re.search(r’
《元尊》正文 (.?) 元尊相关推荐:’,html,re.S).group(1)
print(d1)
#mulu1=re.search(r’(正文)?(.?)’,d1)
mulu1=re.findall(r’(正文 )?(.?)<’,d1)
print(mulu1)

#访问每一章 下载
for i in mulu1:
chapter_title = i[-1]
chapter_url = ‘http://www.shuquge.com/txt/5809/’ + i[0]
print(chapter_url,chapter_title)
# # # 下载章节内容
chapter_response = requests.get(chapter_url)
chapter_response.encoding = ‘UTF-8’
chapter_html = chapter_response.text
# print(chapter_html)

chapter_content=re.search(r'<body id="wrapper"> (.*?)All Rights Reserved.',chapter_html,re.S)[0]
# chapter_content=chapter_content[0]
# print(chapter_content)


# #清洗数据
chapter_content = chapter_content.replace(' ','')
chapter_content = chapter_content.replace('<br/>', '')
chapter_content = chapter_content.replace('&nbsp;', '')

# # # 保存
print(chapter_content)
f.write(chapter_title)
f.write(chapter_content)
### 使用Python编写爬虫抓取优酷视频 #### 抓取目标与工具准备 为了实现对优酷视频的数据获取,通常会涉及到网页请求、解析HTML文档以及处理API接口返回的内容。对于这类任务,`requests`库用于发起HTTP/HTTPS网络请求;而`BeautifulSoup`或`lxml`则适合于解析HTML/XML结构化数据。如果遇到JavaScript渲染的页面,则可能需要用到Selenium这样的浏览器自动化框架[^1]。 #### 处理登录验证机制 部分网站可能会设置较为严格的反扒措施,比如验证码识别或是基于Cookies的身份认证流程。针对这种情况,在开发初期就要考虑好应对策略,例如模拟真实用户的浏览行为模式,定期更换User-Agent字符串,甚至利用第三方服务绕过图形验证码挑战等问题[^2]。 #### 数据提取逻辑设计 当面对像优酷这样大型综合性媒体平台时,直接从公开可访问的部分入手往往是最简单有效的方式之一。具体来说就是先定位到含有目标资源列表页URL模板,再依据一定规则遍历每一页直至结束条件满足为止。与此同时还要注意观察详情页链接构造规律以便后续深入挖掘更多有价值的信息项[^3]。 ```python import requests from bs4 import BeautifulSoup def fetch_video_list(page_num=1): url = f"https://www.youku.com/v_olist/c_97_p_{page_num}.html" headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)', } response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, "html.parser") video_items = [] for item in soup.select('.v-link'): title = item['title'] href = item['href'] video_items.append({ 'title': title, 'url': href }) return video_items if __name__ == "__main__": videos = fetch_video_list() for v in videos[:5]: print(f"{v['title']}: {v['url']}") ``` 此段代码仅作为基础示范用途,请勿滥用本技术手段非法采集他人受版权保护的作品!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值