爬取动态分页数据案例

需求:

爬取东方财富证券http://kuaixun.eastmoney.com/ssgs.html的财经新闻数据
1.爬取页面中的标题和对应的内容:【标题】内容
2.进行分页操作,爬取当前页面所有页码对应的标题和内容数据
3.不可以使用selenium
4.进行任意形式的持久化存储

代码:

通过对网站的分析发现翻页时,有ajax数据包分析数据包的url发现,翻页改变url中的参数,共20页

#url— http://kuaixun.eastmoney.com/ssgs.html
import requests
import json
import re
headers = {
   'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.12 Safari/537.36'
}
# 通过对网站的分析发现翻页时,有ajax数据包分析数据包的url发现,翻页改变url中的参数,共20页
url = "http://newsapi.eastmoney.com/kuaixun/v1/getlist_103_ajaxResult_50_{}_.html"
for i in range(1,21):
    url2 = url.format(i)
    page_text = requests.get(url=url2, headers=headers).text
    page_str = re.findall('\{.*\}',page_text)[0]
    page_dic = json.loads(page_str)
    page_list = page_dic["LivesList"]
    
    content_list = []
    for dic in page_list:
        content = dic["digest"]
        content_list.append(content)
    
    # 分页存储
    with open(f"./第{i}页新闻","w",encoding='utf-8') as fp:
        fp.write('\n'.join(content_list))
    print(f"第{i}页新闻存储成功")

 

转载于:https://www.cnblogs.com/zwq-/p/10624111.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值