python爬虫学习20211019
2021/10/19 14:39:44
本文主要是介绍python爬虫学习20211019,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
爬虫笔记20211019
个人学习,笔记记录
引用模块
- os(读写储存爬取内容)
- requests(通过链接与请求头获得html页面内容)
- re(正则表达式筛选文字内容)
爬取对象与目标
- 纵横小说网的小说,爬取谋篇小说
步骤
分析网页
链接内容为点进去的小说的第一章节内容,而F12代码查看里面小说内容在content这个类里面,主要内容在p中,题目在title_txtbox中。
切换下一章节,在nextchapter这个类中
分部方法
链接为小说第一章内容,我们查阅下一章为点击下一章按钮进行跳转,据此我们需要准备的方法分解为:
- 加载单章内容
并非真实下载,只是加到缓存中
# 准备访问请求头,对应F12查看自己的请求头信息,User-Agent就够了,如有其他需要增加即可 headers={ 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36', } #下载单页的方法 def download_single_page(url): # 用requests.get()方法以字符串的形式储存到url_page变量中 url_page=requests.get(url,headers=headers) # 随意两个字段,利用 re.findall()方法拆出标题和内容,“(.*?)”这个内容为里面为保留的内容,前后为那两个字符之间 a =re.findall('<div class="title_txtbox">(.*?)</div>',url_page.text) b =re.findall('<p>(.*?)</p>',url_page.text) # 准备书写到电脑文本里的内容 txt='' for i in b: txt=txt+i+'\n' txtf=url+'\n'+a[0] + '\n'+txt return txtf,a
- 加载各章节链接
为批量下载方法做准备,传入第一页链接与数量参数,利用正则表达式与简单循环获得各个章节链接地址,返回到一个链接地址列表中
def url_page(url_frist,n): i = 1 url_list = [url_frist] while i < n: url_page = requests.get(url_frist, headers=headers) url1=re.findall('<a href="(.*?)" class="nextchapter"',url_page.text) print(url1[0]+r'已加入下载队列......') url_list.append(url1[0]) url_frist=url1[0] i += 1 print(r'''"\@_"\@_"\@_所有队列已准备完成"\@_"\@_"\@_''') return url_list
- 写入文件的方法
利用os模块,在指定目录下,将标题跟文件写入,这个测试储存的格式为txt
def write_file(filename,txtf,title): if not os.path.exists(filename): os.mkdir(filename) with open (filename+title[0]+'.txt','w',encoding='utf-8') as f: f.write(txtf) print(title[0]+r'''缓存已下载完成......''')
- 批量爬取小说主方法
利用以上方法,通过传入准备好的文件夹地址,第一页链接与想要往后爬取的数量,进行小说批量下载
def group_page(filename,url,n): url_list= url_page(url,n) for i in url_list: txtf,a=download_single_page(i) write_file(filename,txtf,a)
运行抓取
我准备的文件夹是这个小说的名字,也可以随意写一个名字在上面补充识别路径没有创建的方法,中间是第一页的小说链接,下载测试下载了10章。这个是比较简易的,自己查资料的一个尝试,作为日记一样记录下来,一个学习笔记吧最近打算养成的一个习惯,后面不断的记录学习变强吧。后面的一些登录认证什么的还爬取不了,get到在记录吧
group_page('轮回神仙道\\','http://book.zongheng.com/chapter/876228/57924115.html',10)
这篇关于python爬虫学习20211019的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享