python实现爬取下一页------递归篇

本文介绍了一种爬取动态加载网站的方法,通过设置网页请求延时,利用XPath解析网页元素,实现对特定类名下的标题和链接的抓取。此外,还展示了如何递归地抓取下一页的内容,直到没有更多页面为止。

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

def get_detail(url,dbs):
    #每个网页设置延时
    time.sleep(random.random() * 3)
    selector = comp(url)
    title_url = selector.xpath('//div[@class="topic_list_detail"]//a[@class="title"]/@href')
    title_title = selector.xpath('//div[@class="topic_list_detail"]//a[@class="title"]/text()')
    try:
        for index in range(len(title_url)):
            result_url = "https://www.chineseinla.com" + title_url[index]
            result = {'标题': title_title[index], 'url': result_url}
            dbs.insert_one(result)
        nexturl = selector.xpath('//div[@class="topic_option_right pagination_right"]/a[last()]/@href')
        next_text = selector.xpath('//div[@class="topic_option_right pagination_right"]/a[last()]/text()')
        print("下一页为:{}".format(nexturl))
        print(next_text)
        if not nexturl:
            return
        elif next_text[0] == "下一页":
            next_url = "https://www.chineseinla.com" + nexturl[0]
            get_detail(next_url, dbs)
        else:
            return
    except Exception as e:
        print(e)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值