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使用scrapy采集时伪装成HTTP/1.1的方法
Apr 08 Python
python基础知识小结之集合
Nov 25 Python
python动态网页批量爬取
Feb 14 Python
在pycharm中python切换解释器失败的解决方法
Oct 29 Python
Python txt文件加入字典并查询的方法
Jan 15 Python
Python Pillow Image Invert
Jan 22 Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 Python
Django的用户模块与权限系统的示例代码
Jul 24 Python
python编写计算器功能
Oct 25 Python
GDAL 矢量属性数据修改方式(python)
Mar 10 Python
python保存大型 .mat 数据文件报错超出 IO 限制的操作
May 10 Python
Flask使用SQLAlchemy实现持久化数据
Jul 16 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 iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
js自动生成对象的属性示例代码
2013/10/28 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
微信小程序 实例开发总结
2017/04/26 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
vue实现自定义多选按钮
2020/07/16 Javascript
JavaScript实现网页计算器功能
2020/10/29 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
Python生成器(Generator)详解
2015/04/13 Python
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
用virtualenv建立多个Python独立虚拟开发环境
2017/07/06 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
美国现代家具购物网站:LexMod
2019/01/09 全球购物
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
高中语文教学反思
2014/01/16 职场文书
先进单位事迹材料
2014/12/25 职场文书
大学生毕业评语
2014/12/31 职场文书
升学宴学生答谢词
2015/01/05 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle