Python爬虫:如何爬取分页数据?
上一篇文章《Python爬虫:爬取人人都是产品经理的数据》中说了爬取单页数据的方法,这篇文章详细解释如何爬取多页数据。
爬取对象:
有融网理财项目列表页【履约中】状态下的前10页数据,地址:https://www.yrw.com/products/list-all-all-performance-1-createTimeDesc-1.html
编程思路:
1. 寻找分页地址的变动规律 2. 解析网页,获取内容,放入自定义函数中 3. 调用函数,输出分页内容
详细解说:
1. 首先插入用到的库:BeautifulSoup、requests
from bs4 import BeautifulSoup import requests
2. 观察地址的变化规律,可以看到,每切换一页时,后面“createTimeDesc-1.html”中的数字1会随着页面的变动而变动,此时我们将地址存放进列表中,后面用format()和for循环来实现多个地址的存储。
 urls = ['https://www.yrw.com/products/list-direct-all-performance-1-createTimeDesc-{}.html'.format(str(i)) for i in range(1,11)]
 print(urls)
此时可以先print下,看地址是否正确,这里range(1,11)是前10个页面的地址。
3. 接下来定义解析函数,参数data的初始值为空。函数内用到的内容和上一篇文章中讲到的相同。先请求urls,然后用BeautifulSoup解析,筛选我们想要的项目标题titles的位置,实现输出。
 def get_titles(urls,data = None):
     web_data = requests.get(urls)
     soup = BeautifulSoup(web_data.text, 'lxml')
     titles = soup.select(' h3 > a > em > strong')
     for title in titles:
         data = {
             'title': title.get_text()
         }
         print(data)
4. 最后,我们来调用函数。
 for titles in urls:
     get_titles(titles)
完整代码:
 from bs4 import BeautifulSoup
 import requests
 urls = ['https://www.yrw.com/products/list-direct-all-performance-1-createTimeDesc-{}.html'.format(str(i)) for i in range(1,11)]
 # print(urls)
 def get_titles(urls,data = None):
     web_data = requests.get(urls)
     soup = BeautifulSoup(web_data.text, 'lxml')
     titles = soup.select(' h3 > a > em > strong')
     for title in titles:
         data = {
             'title': title.get_text()
         }
         print(data)
 for titles in urls:
     get_titles(titles)
运行结果(只展示部分):
{'title': '资产融ZT321期'}
{'title': '供应链ZT2923期'}
{'title': '租车融ZT335期'}
{'title': '供应链ZT2922期'}
{'title': '供应链ZT2919期'}
操作环境:Python版本,3.6;PyCharm版本,2016.2;电脑:Mac
----- End -----
作者:杜王丹,微信公众号:杜王丹,互联网产品经理。

Python爬虫:如何爬取分页数据?的更多相关文章
- Python爬虫之爬取慕课网课程评分
		
BS是什么? BeautifulSoup是一个基于标签的文本解析工具.可以根据标签提取想要的内容,很适合处理html和xml这类语言文本.如果你希望了解更多关于BS的介绍和用法,请看Beautiful ...
 - [Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)
		
转载自:http://blog.csdn.net/eastmount/article/details/51231852 一. 文章介绍 源码下载地址:http://download.csdn.net/ ...
 - from appium import webdriver  使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium)
		
使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium) - 北平吴彦祖 - 博客园 https://www.cnblogs.com/stevenshushu/p ...
 - python爬虫实战---爬取大众点评评论
		
python爬虫实战—爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经 ...
 - Python爬虫之爬取站内所有图片
		
title date tags layut Python爬虫之爬取站内所有图片 2018-10-07 Python post 目标是 http://www.5442.com/meinv/ 如需在非li ...
 - Python爬虫之爬取淘女郎照片示例详解
		
这篇文章主要介绍了Python爬虫之爬取淘女郎照片示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 本篇目标 抓取淘宝MM ...
 - python爬虫项目-爬取雪球网金融数据(关注、持续更新)
		
(一)python金融数据爬虫项目 爬取目标:雪球网(起始url:https://xueqiu.com/hq#exchange=CN&firstName=1&secondName=1_ ...
 - Python爬虫:爬取人人都是产品经理的数据
		
爬取内容: 人人都是产品经理首页(www.woshipm.com)左侧[最新文章]下如图样式的文章标题.浏览量和缩略图. 思路: 1. 用BeautifulSoup解析网页 变量名 = Beautif ...
 - 初次尝试python爬虫,爬取小说网站的小说。
		
本次是小阿鹏,第一次通过python爬虫去爬一个小说网站的小说. 下面直接上菜. 1.首先我需要导入相应的包,这里我采用了第三方模块的架包,requests.requests是python实现的简单易 ...
 
随机推荐
- oneinstack远程管理数据库
			
本篇文章主要内容是本地工具连接数据非网页(网站)连接 如果你想使用网页(网站)连接远程数据库,请看下面的官网教程 OneinStack如何配置MySQL远程连接? 为了安全考虑,OneinStack仅 ...
 - bip39
			
BIP: 39 (助记词) Layer: Applications Title: Mnemonic code for generating deterministic keys Author: Mar ...
 - TDD&BDD
			
BDD行为驱动开发的一种敏捷开发技术 TDD测试驱动开发
 - SQL必知必会摘要
			
数据检索 2.2 检索单个列 SELECT prod_name FROM Products; SQL语句不区分大小写 2.3 检索多个列 SELECT prod_name,prod_id,prod ...
 - 织梦提交表单(提交留言)前的js校验
			
第一种情况:页面有引入jq的 在form标签上加上id <form action="/plus/diy.php" enctype="multipart/form-d ...
 - uname -a输出内容分析
			
uname -a输出内容分析 uname --help 将每个参数都单独执行一次,得到: ------------------------------------------------------- ...
 - #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
			
((GPIO_TypeDef *) GPIOA_BASE)表示将GPIOA_BASE强制转换为指针类型的结构体, #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE) ...
 - BZOJ3786: 星系探索 Splay+DFS序
			
题目大意:给你一个树,支持三种操作,子树加,点到根的路径和,改变某一个点的父亲. 分析: 看起来像一个大LCT,但是很显然,LCT做子树加我不太会啊... 那么,考虑更换一个点的父亲这个操作很有意思, ...
 - [HAOI2008]排名系统 & [Zjoi2006]GameZ游戏排名系统 BZOJ1862&BZOJ1056
			
分析: 平衡树裸题,(学完LCT感觉自己不会普通的Splay了...),维护每个节点的权值大小顺序,和时间戳顺序,之后map维护一下是否存在过,(懒得写字符串hash了). 附上代码: #includ ...
 - 20155301 Web基础
			
20155301 Web基础 1.基础问题回答 (1)什么是表单 答: 表单是一个包含表单元素的区域. 表单元素是允许用户在表单中(比如:文本域.下拉列表.单选框.复选框等等)输入信息的元素 (2)浏 ...