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 相关文章推荐
在Django中进行用户注册和邮箱验证的方法
May 09 Python
python爬取淘宝商品销量信息
Nov 16 Python
python实现整数的二进制循环移位
Mar 08 Python
python中selenium操作下拉滚动条的几种方法汇总
Jul 14 Python
django框架使用方法详解
Jul 18 Python
Python的PIL库中getpixel方法的使用
Apr 09 Python
Django ORM 查询表中某列字段值的方法
Apr 30 Python
python使用多线程+socket实现端口扫描
May 28 Python
Python内置方法和属性应用:反射和单例(推荐)
Jun 19 Python
python中加背景音乐如何操作
Jul 19 Python
Flask搭建一个API服务器的步骤
May 28 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 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
新浪SAE云平台下使用codeigniter的数据库配置
2014/06/12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
php生出随机字符串
2017/07/06 PHP
基于jquery的滚动新闻列表
2010/06/19 Javascript
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
jquery实现图片预加载
2015/12/25 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
代码详解javascript模块加载器
2018/03/04 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
php使用递归与迭代实现快速排序示例
2014/01/23 Python
python实现类的静态变量用法实例
2015/05/08 Python
Python字符编码判断方法分析
2016/07/01 Python
Python编程判断这天是这一年第几天的方法示例
2017/04/18 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
2018/07/04 Python
python将字母转化为数字实例方法
2019/10/04 Python
canvas裁剪clip()函数的具体使用
2018/03/01 HTML / CSS
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
大学生求职简历的自我评价
2013/10/14 职场文书
监理资料员岗位职责
2014/01/03 职场文书
阿德的梦教学反思
2014/02/06 职场文书
教师党员一句话承诺
2014/03/28 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
孔庙导游词
2015/02/04 职场文书
夫妻吵架保证书
2015/05/08 职场文书
2015年安全生产管理工作总结
2015/05/25 职场文书
闪闪的红星观后感
2015/06/08 职场文书
html5实现点击弹出图片功能
2021/07/16 HTML / CSS
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers
Python sklearn分类决策树方法详解
2022/09/23 Python