对Ajax加载页面爬虫的几个类型分析

本文介绍了两种网页数据抓取的方法:一种是针对直接通过response返回JSON数据的情况,使用json.loads进行解析;另一种是从HTML源码中提取所需信息,利用PyQuery进行选择器匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情景一:

如果要爬取的是这个url直接response(preview)回来的内容,则用data = json.loads(html)对response进行处理,如下图


提取代码参考如下:

def parse_html(html):
    data = json.loads(html)
    if data and 'data' in data.keys():
        for item in data.get('data'):
            yield item.get('article_url')

情景二:

如果要爬取的是这个url是在html中直接提取,那么需要先转换成pyquery可以识别的格式,再进行提取:



代码参考如下:


def get_url(html):  # 去获取文章的url
    doc = pq(html)
    items = doc('li').items()
    for item in items:
        article_urls = item('div.txt-box > h3 > a').attr('href')
        yield article_urls

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值