千家信息网

怎么用python爬取今日说法每期数据

发表于:2024-10-11 作者:千家信息网编辑
千家信息网最后更新 2024年10月11日,今天小编给大家分享一下怎么用python爬取今日说法每期数据的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面
千家信息网最后更新 2024年10月11日怎么用python爬取今日说法每期数据

今天小编给大家分享一下怎么用python爬取今日说法每期数据的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

代码

import xlwtimport reimport requests# url = "https://tv.cctv.com/lm/jrsf/index.shtml"def get_data(page):    url = 'https://api.cntv.cn/NewVideo/getVideoListByColumn?id=TOPC145146466500891' \          '4&n=1000&sort=desc&p={pageNo}&mode=0&serviceId=tvcctv&cb=Callback'.format(pageNo=page)    headers = {        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '                      '(KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'    }    response = requests.get(url=url, headers=headers)    return response.text    # print(response.text)if __name__ == "__main__":    headers = {        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '                      '(KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'    }    book = xlwt.Workbook(encoding='utf-8', style_compression=0)    sheet = book.add_sheet('今日说法', cell_overwrite_ok=True)    count = 0    for page in range(1,5):        page_content = get_data(page)        obj = re.compile(r'url":"(.*?.shtml)"', re.S)        imgUrl = re.findall(obj, page_content.replace('\\', ''))        for i in range(len(imgUrl)):            resp = requests.get(url=imgUrl[i], headers=headers)            resp.encoding = 'utf-8'            obj2 = re.compile(r'更新时间:(.*?)

', re.S) time = re.findall(obj2, resp.text) obj3 = re.compile(r'视频简介:(.*?)

', re.S) jianjie = re.findall(obj3, resp.text) content = [] content.append(time) content.append(jianjie) for j in range(2): sheet.write(count, j, content[j]) count+=1 book.save("./data_5.xls")

实验结果

以上就是"怎么用python爬取今日说法每期数据"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

0