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 相关文章推荐
python实现哈希表
Feb 07 Python
Python3实现生成随机密码的方法
Aug 23 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
Jul 08 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
python消除序列的重复值并保持顺序不变的实例
Nov 08 Python
Python3.5实现的罗马数字转换成整数功能示例
Feb 25 Python
django rest framework 实现用户登录认证详解
Jul 29 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
Python队列、进程间通信、线程案例
Oct 25 Python
Python计算不规则图形面积算法实现解析
Nov 22 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 Python
利用Python中的Xpath实现一个在线汇率转换器
Sep 09 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下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
使用php验证复选框有效性的示例
2013/11/13 PHP
PHP中session变量的销毁
2014/02/27 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
小型js框架veryide.librar源代码
2009/03/05 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
JS分页效果示例
2013/10/11 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
JS代码实现table数据分页效果
2016/05/26 Javascript
node vue项目开发之前后端分离实战记录
2017/12/13 Javascript
详解js的作用域、预解析机制
2018/02/05 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
2018/06/08 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
2019/04/30 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
Python调用C语言开发的共享库方法实例
2015/03/18 Python
python中assert用法实例分析
2015/04/30 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
python编程线性回归代码示例
2017/12/07 Python
python使用Matplotlib画条形图
2020/03/25 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
个人党性锻炼总结
2015/03/05 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题