上一篇文章《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爬虫:如何爬取分页数据?的更多相关文章

  1. Python爬虫之爬取慕课网课程评分

    BS是什么? BeautifulSoup是一个基于标签的文本解析工具.可以根据标签提取想要的内容,很适合处理html和xml这类语言文本.如果你希望了解更多关于BS的介绍和用法,请看Beautiful ...

  2. [Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

    转载自:http://blog.csdn.net/eastmount/article/details/51231852 一. 文章介绍 源码下载地址:http://download.csdn.net/ ...

  3. from appium import webdriver 使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium)

    使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium) - 北平吴彦祖 - 博客园 https://www.cnblogs.com/stevenshushu/p ...

  4. python爬虫实战---爬取大众点评评论

    python爬虫实战—爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经 ...

  5. Python爬虫之爬取站内所有图片

    title date tags layut Python爬虫之爬取站内所有图片 2018-10-07 Python post 目标是 http://www.5442.com/meinv/ 如需在非li ...

  6. Python爬虫之爬取淘女郎照片示例详解

    这篇文章主要介绍了Python爬虫之爬取淘女郎照片示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 本篇目标 抓取淘宝MM ...

  7. python爬虫项目-爬取雪球网金融数据(关注、持续更新)

    (一)python金融数据爬虫项目 爬取目标:雪球网(起始url:https://xueqiu.com/hq#exchange=CN&firstName=1&secondName=1_ ...

  8. Python爬虫:爬取人人都是产品经理的数据

    爬取内容: 人人都是产品经理首页(www.woshipm.com)左侧[最新文章]下如图样式的文章标题.浏览量和缩略图. 思路: 1. 用BeautifulSoup解析网页 变量名 = Beautif ...

  9. 初次尝试python爬虫,爬取小说网站的小说。

    本次是小阿鹏,第一次通过python爬虫去爬一个小说网站的小说. 下面直接上菜. 1.首先我需要导入相应的包,这里我采用了第三方模块的架包,requests.requests是python实现的简单易 ...

随机推荐

  1. Unicode,GBK,GB2312,UTF-8概念基础(转载)

    第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础本部分采用重用,转载一篇文章来完成这部分的目标.来源:holen'blog   对字符编码与Unicode,IS ...

  2. 客户端本地存储的比较及使用window.name数据传输

    一:cookie: 1. 什么是cookie? Cookie是在客户端用于存储会话信息的,用户请求页面在web服务器与浏览器之间传递.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cooki ...

  3. HDU1599(Floyd最小环)

    Floyd最小环理解+模板: https://www.cnblogs.com/DF-yimeng/p/8858184.html 除了上述博文里写的,我再补充几点我的理解. 1.为什么先枚举ij求经过i ...

  4. STS-创建spring配置文件

    1.创建一个bean文件 2.输入文件名applicationContext.xml 3.这里会自动显示模板文件 4.创建后,自动填充头不定义 到这里就可以发现,我们创建spring文件时,需要的配置 ...

  5. C# 文本转语音朗读

    1. 利用DONET框架自带的 SpeechSynthesizer ,缺点是没有感情色彩,抑扬顿挫等. using System; using System.Collections.Generic; ...

  6. 20155327 李百乾 Exp7 网络欺诈防范

    20155327 李百乾 Exp7 网络欺诈防范 基础问题回答 (1)通常在什么场景下容易受到DNS spoof攻击 就此次试验来看,被收到NDSspoof攻击,首先要被攻击机扫描,并被设置为目标,所 ...

  7. linux下使用软连接之案例二

           在笔者的上一篇文章介绍过怎么通过linux的软连接在不修改上传代码的情况下,将上传到项目路径下的图片改为上传到项目外面,防止重新部署后图片被删除了.同时还可以直接通过类似访问静态资源的方 ...

  8. 3、class文件加载过程

    1.加载2.链接(检验/准备/解析) 1/检验过程:检验class的数据格式.2/准备过程:创建静态域,并将这些域设为默认值.3/解析过程:在一个Java类中会包含对其它.类或接口的形式引用,包括它的 ...

  9. Luogu P1726 上白泽慧音

    这显然是一道求强连通分量(SCC)的题目. 只要你正常,都知道应该写Tarjan. 然后(假装会写Tarjan),其实我当然不会.但是求SCC还有另一个算法.复杂度和Tarjan一样,只不过常数大了点 ...

  10. 汇编 if else

    知识点: if else 逆向还原代码 一.了解if else结构 sub esp, |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-] 0040102C |. 3B45 ...