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实现生成随机日期字符串的方法示例
Dec 25 Python
ubuntu安装sublime3并配置python3环境的方法
Mar 15 Python
Python基于多线程实现ping扫描功能示例
Jul 23 Python
Python运行不显示DOS窗口的解决方法
Oct 22 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
Mar 01 Python
详解用python写网络爬虫-爬取新浪微博评论
May 10 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
Jun 17 Python
使用python爬取微博数据打造一颗“心”
Jun 28 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
Python Django的安装配置教程图文详解
Jul 17 Python
Python 脚本的三种执行方式小结
Dec 21 Python
selenium携带cookies模拟登陆CSDN的实现
Jan 19 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获取数组长度的方法(有实例)
2013/10/27 PHP
php url路由入门实例
2014/04/23 PHP
JS分页效果示例
2013/10/11 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
详解ES6中的let命令
2020/04/05 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
Python实现字典依据value排序
2016/02/24 Python
简单的python后台管理程序
2017/04/13 Python
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
python基于ID3思想的决策树
2018/01/03 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
对python中Librosa的mfcc步骤详解
2019/01/09 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
详解python 爬取12306验证码
2019/05/10 Python
PyQt5笔记之弹出窗口大全
2019/06/20 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
Python 实现简单的客户端认证
2020/07/29 Python
Python 如何查找特定类型文件
2020/08/17 Python
聊聊python中的循环遍历
2020/09/07 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
python如何修改文件时间属性
2021/02/05 Python
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
国际旅客访问北美最大的汽车租赁提供商:Alamo Rent A Car
2018/06/13 全球购物
劳资员岗位职责
2013/11/11 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
励志演讲稿500字
2014/08/21 职场文书
期末复习计划
2015/01/19 职场文书
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python