jupyter进行翻页爬取(人民邮电出版社)


前言

大多数时候使用爬虫爬取一页网页所得到的内容信息不够完善,这时候就需要我们进行分页爬取网页信息。


一、如何进行分页爬取?

1. 寻找页地址的变动规律

2. 解析网页,获取内容,放入自定义函数中

3. 调用函数,输出分页内容

二、步骤

1.引入库

代码如下(示例):

import requests
import json
import pandas as pd

2.读入数据

代码如下(示例):

rq=requests.get('https://www.ptpress.com.cn/bookinfo/wsBookSearch?rows=9&page=1&keyword=&jc=').content.decode('utf-8')
rq

该处使用的url网络请求的数据。

三、完整事例

1.这里我是对人民邮电出版社这个网页中有关计算机的书籍进行翻页爬取。

2.爬取的内容为图书名、作者、价格、封面图片路径。

3.得到的结果

四、完整代码

import requests
import json
import pandas as pd

rq=requests.get('https://www.ptpress.com.cn/bookinfo/wsBookSearch?rows=9&page=1&keyword=&jc=').content.decode('utf-8')
rq

type(rq)

data=json.loads(rq)
data

data['rows']

url_list=[]
for i in range(1,11):
    url_str='https://www.ptpress.com.cn/bookinfo/wsBookSearch?rows=9&page='+str(i)+'&keyword=&jc='
    url_list.append(url_str)
url_list

a=[]
b=[]
c=[]
d=[]
for i in url_list:
    booknames=[]
    authors=[]
    prices=[]
    picPaths=[]
    rq=requests.get(i).content.decode('utf-8')
    book=[i['bookName']for i in data['rows']]
    authors=[i['author']for i in data['rows']]
    prices=[i['price']for i in data['rows']]
    picPaths=[i['picPath']for i in data['rows']]
    a.extend(book)
    b.extend(authors)
    c.extend(prices)
    d.extend(picPaths)

a

b

c

d

pd.DataFrame({'书名':a,'作者':b,'价格':c,'图片路径':d})

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值