python爬虫实现爬取同一个网站的多页数据的实例讲解


Posted in Python onJanuary 18, 2021

对于一个网站的图片、文字音视频等,如果我们一个个的下载,不仅浪费时间,而且很容易出错。Python爬虫帮助我们获取需要的数据,这个数据是可以快速批量的获取。本文小编带领大家通过python爬虫获取获取总页数并更改url的方法,实现爬取同一个网站的多页数据。

一、爬虫的目的

从网上获取对你有需要的数据

二、爬虫过程

1、获取url(网址)。

2、发出请求,获得响应。

3、提取数据。

4、保存数据。

三、爬虫功能

可以快速批量的获取想要的数据,不用手动的一个个下载(图片、文字音视频等)

四、使用python爬虫爬取同一网站多页数据

1、需要定位至该标签并获得总页数

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 href="','',s)
  page1=re.sub(link,'',page)
  page2=re.sub('">','',page1)
  page3=re.sub('</a>','',page2)
  pagesize=int(page3)
  print(pagesize)
  return pagesize
Pass

2、更改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)

实例扩展:

import requests
from lxml import etree
import re

url="https://movie.douban.com/top250"
header = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"}

allMovieList=[]
flag = True
while flag:
  html = requests.get(url, headers=header).text
  list = etree.HTML(html)
  lis = list.xpath('//ol[@class="grid_view"]/li')
  for oneSelector in lis:
    name = oneSelector.xpath("div/div[2]/div[1]/a/span[1]/text()")[0]
    score = oneSelector.xpath("div/div[2]/div[2]/div/span[2]/text()")[0]
    people = oneSelector.xpath("div/div[2]/div[2]/div/span[4]/text()")[0]
    people = re.findall("(.*?)人评价",people)[0]
    oneMovieList = [name,score,people]
    allMovieList.append(oneMovieList)
  #获取下一页地址
  try:
    next_url = list.xpath('//span[@class="next"]/a/@href')[0]
    if next_url:
      url = "https://movie.douban.com/top250"+ next_url
  except:
    flag = False
print(allMovieList)

到此这篇关于python爬虫实现爬取同一个网站的多页数据的实例讲解的文章就介绍到这了,更多相关python爬虫如何实现爬取同一个网站的多页数据内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用IPython来操作Docker容器的入门指引
Apr 08 Python
Python编程实战之Oracle数据库操作示例
Jun 21 Python
Python绘制七段数码管实例代码
Dec 20 Python
python使用sqlite3时游标使用方法
Mar 13 Python
使用pandas read_table读取csv文件的方法
Jul 04 Python
对Python中Iterator和Iterable的区别详解
Oct 18 Python
Python设计模式之享元模式原理与用法实例分析
Jan 11 Python
Python3数字求和的实例
Feb 19 Python
Django中如何使用sass的方法步骤
Jul 09 Python
Flask框架单例模式实现方法详解
Jul 31 Python
Cpython解释器中的GIL全局解释器锁
Nov 09 Python
python 中[0]*2与0*2的区别说明
May 10 Python
python中四舍五入的正确打开方式
Jan 18 #Python
PyQt5中QSpinBox计数器的实现
Jan 18 #Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 #Python
PyQt实现计数器的方法示例
Jan 18 #Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 #Python
Python实现一个论文下载器的过程
Jan 18 #Python
利用python为PostgreSQL的表自动添加分区
Jan 18 #Python
You might like
PHP网站基础优化方法小结
2008/09/29 PHP
PHP Cookie的使用教程详解
2013/06/03 PHP
给ECShop添加最新评论
2015/01/07 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
javascript 快速排序函数代码
2012/05/30 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
微信小程序image图片加载完成监听
2019/08/31 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
Python实现Const详解
2015/01/27 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
python selenium UI自动化解决验证码的4种方法
2018/01/05 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
一篇.NET面试题
2014/09/29 面试题
追悼会上的答谢词
2014/01/10 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
英文慰问信
2015/02/14 职场文书
求职信如何撰写?
2019/05/22 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python