目录
  • 实验目的
  • 代码
  • 实验结果
  • 总结

实验目的

主要是获取2021年今日说法每期节目主要内容及时间
今日说法的网址为:http://tv.cctv.com/lm/jrsf/index.shtml
当时怎么写的思路有点不太记得了,先把代码贴上,后续有时间再补上。

代码

import xlwt
import re

import 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'更新时间:</em>(.*?)</p>', re.s)
            time = re.findall(obj2, resp.text)
            obj3 = re.compile(r'视频简介:</em>(.*?)</p>', 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爬取今日说法每期数据的文章就介绍到这了,更多相关python爬取今日说法内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!