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远程登录代码
Apr 29 Python
python制作一个桌面便签软件
Aug 09 Python
python实现随机梯度下降(SGD)
Mar 24 Python
Python 查看文件的读写权限方法
Jan 23 Python
解决pycharm无法识别本地site-packages的问题
Oct 13 Python
Python实现EXCEL表格的排序功能示例
Jun 25 Python
python 根据字典的键值进行排序的方法
Jul 24 Python
PyQt5事件处理之定时在控件上显示信息的代码
Mar 25 Python
Pycharm安装并配置jupyter notebook的实现
May 18 Python
python 爬取百度文库并下载(免费文章限定)
Dec 04 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
Jan 23 Python
Python排序算法之插入排序及其优化方案详解
Jun 11 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中json_encode()和json_decode()
2014/05/25 PHP
php模拟服务器实现autoindex效果的方法
2015/03/10 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
PHP is_array() 检测变量是否是数组的实现方法
2016/06/13 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
Python实现网站注册验证码生成类
2017/06/08 Python
Python基础教程之异常详解
2019/01/10 Python
python如何实现视频转代码视频
2019/06/17 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
链表面试题-一个链表的结点结构
2015/05/04 面试题
党员自我评价分享
2013/12/13 职场文书
学前教育毕业生自荐信范文
2013/12/24 职场文书
迟到检讨书1000字
2014/01/15 职场文书
《赵州桥》教学反思
2014/02/17 职场文书
婚前协议书范本
2014/04/15 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
贷款收入证明范本
2015/06/12 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js