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写的ARP攻击代码实例
Jun 04 Python
python安装以及IDE的配置教程
Apr 29 Python
Python基础教程之tcp socket编程详解及简单实例
Feb 23 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
python pandas读取csv后,获取列标签的方法
Nov 12 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
python tkinter图形界面代码统计工具(更新)
Sep 18 Python
tensorflow 查看梯度方式
Feb 04 Python
Python的信号库Blinker用法详解
Dec 31 Python
Python import模块的缓存问题解决方案
Jun 02 Python
python中的sys模块和os模块
Mar 20 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
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
豆瓣网的jquery代码实例
2008/06/15 Javascript
jQuery 页面 Mask实现代码
2010/01/09 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
jQuery性能优化的38个建议
2014/03/04 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
jQuery选择器总结之常用元素查找方法
2016/08/04 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
Angular4 中常用的指令入门总结
2017/06/12 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
利用keras加载训练好的.H5文件,并实现预测图片
2020/01/24 Python
python logging 日志的级别调整方式
2020/02/21 Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
2020/06/09 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
高一自我鉴定
2013/12/17 职场文书
给医务人员表扬信
2014/01/12 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
杨善洲电影观后感
2015/06/04 职场文书
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS