Python爬取网址中多个页面的信息
本文讲解该如何爬取之后的页面信息,希望对你有帮助
一、审查元素
鼠标移至页码处右键,选择检查元素
接着屏幕下方就会出现对应的html语句
二、分析html语句与项目要求
本次项目是爬取所有信息,根据第一步中的html语句,我们有两种爬取后续页面信息的方法:
方法一:循环访问本页面中的“下一页”链接直至该标签为空
即
''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' def next_page(url): soup=get_requests(url) draw_base_list(soup) pcxt=soup.find('div',{'class':'babynames-term-articles'}).find('nav') pcxt1=pcxt.find('div',{'class':'nav-links'}).find('a',{'class':'next page-numbers'}) if pcxt1!=None: link=pcxt1.get('href') next_page(link) else: print("爬取完成")
方法二:获取总页数,通过更改url来爬取后续信息
通过html语句可以看出不同页数的url只有最后的数字不一样,而最后的数字就代表着这个url中的信息是第几页的信息。
页面中的html语句给出了总页码,我们只需要定位至该标签并获得总页数即可。
即
''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' def get_page_size(soup): pcxt=soup.find('div',{'class':'babynames-term-articles'}).find('nav') pcxt1=pcxt.find('div',{'class':'nav-links'}).findAll('a') for i in pcxt1[:–1]: link=i.get('href') s=str(i) page=re.sub('<a class="page-numbers" href="','',s) page1=re.sub(link,'',page) page2=re.sub('">','',page1) page3=re.sub('</a>','',page2) pagesize=int(page3) print(pagesize) return pagesize pass
获得总页数后这个模块还没有结束,我们还需要更改url来访问网址,也就是主函数的编写:
if __name__ == '__main__': url="http://www.sheknows.com/baby-names/browse/a/" soup=get_requests(url) page=get_page_size(soup) for i in range(1,page+1): url1=url+"page/"+str(i)+"/" soup1=get_requests(url1) draw_base_list(soup1)
通过以上的两种方法就可以将多个页面中的信息都爬取下来了,赶紧动手试试吧。
相关文章
- Python使用tkinter组件Label显示简单数学公式
- 内网渗透之DCOM横向移动
- 以目标为导向的语义交流的共同语言——一个课程学习框架
- python爬虫前奏【成信笔记】
- HTML 5 File API:文件拖放上传功能
- 教你快速创建 Python 虚拟环境
- pyenv 实现Python多版本自由切换
- 用 Python 对 Excel文件进行批量操作
- Python - 接入钉钉机器人
- Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
- crontab - 解决 mac 下通过 crontab 设置了 Python 脚本的定时任务却无法运行
- [源码解析] PyTorch分布式(5) ------ DistributedDataParallel 总述&如何使用
- Python科普系列——类与方法(上篇)
- SAP对STO的交货单执行PGI,报错 -Fld selectn for mvmt type 643 acct 400020 differs
- Spring Boot 实现通用 Auth 认证的 4 种方式
- 盘点4种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据
- OushuDB 学习经验分享(三):技术特点
- Java和Python思维方式的不同之处
- Python中日志记录新技能
- 奥比中光Gemini OpenCV—Python使用