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实现的简单易 ...
随机推荐
- 【转】android Toast大全(五种情形)建立属于你自己的Toast
Toast用于向用户显示一些帮助/提示.下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast. 1.默认效果 代码 Toast.makeText(getApplicationCo ...
- ethereumjs/ethereumjs-wallet
Utilities for handling Ethereum keys ethereumjs-wallet A lightweight wallet implementation. At the m ...
- Java之时间转换
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = sdf.parse( ...
- C语言中几种类型所占字节数
其实C标准并没有具体给出规定哪个基本类型应该是多少个字节数,而且这个也与OS.编译器有关,比如同样是在32位操作系统,VC++的编译器下int类型为4个字节,而在tuborC下则是2个字节. 下面给出 ...
- IntelliJ IDEA 2018.3发布
本文转自:https://www.linuxprobe.com/intellij-idea-2018-3-java-12.html
- 编译最新的SQLite 3.8.4.3为一个DLL
SQLite是一个小型数据库.特别适合于client应用程序使用,它的众多优点就不多说了.有兴趣的去搜索. 话说使用吧. 我们要使用.就须要调用它.如今一步一步来. 第一步:上SQLite官网http ...
- 人的一生为什么要努力 &1
2018-06-25
- 自研后端HTTP请求参数验证器服务ParamertValidateService
好处:方便了后端对HTTP请求中参数进行核验,只需一次编写效验器,一行代码便可对所有参数的pojo进行参数核验!而且更改效验逻辑时只需要更改效验器类即可,实现了解耦合. 只需要程序员按照规范开发一个P ...
- 实现MD5的加密和解密
加密代码 public static string Encrypt(string Text, string sKey) { DESCryptoServiceProvider des = new DES ...
- python中的-1
-1单个使用时表示最后一个: >>> [1,2,3,4][-1] 4 表示范围(区间)时,因为是开区间表示方法,如[0:2]是不包括2的所以 [0:-1]只能访问到倒数第二个(不包括 ...