用python爬取今日說法每期數(shù)據(jù)
更新時間:2022年02月10日 16:37:58 作者:Aaron_Yang.
大家好,本篇文章主要講的是用python爬取今日說法每期數(shù)據(jù),感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
實驗目的
主要是獲取2021年今日說法每期節(jié)目主要內(nèi)容及時間
今日說法的網(wǎng)址為:http://tv.cctv.com/lm/jrsf/index.shtml
當時怎么寫的思路有點不太記得了,先把代碼貼上,后續(xù)有時間再補上。
代碼
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")
實驗結(jié)果
總結(jié)
到此這篇關于用python爬取今日說法每期數(shù)據(jù)的文章就介紹到這了,更多相關python爬取今日說法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Django之a(chǎn)dmin組件的使用和源碼剖析
本篇文章主要介紹了詳解Django之a(chǎn)dmin的使用和源碼剖析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05Python編程實現(xiàn)下載器自動爬取采集B站彈幕示例
這篇文章主要介紹了使用Python編程來實現(xiàn)一個下載器可以自動爬取采集B站彈幕的示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2021-10-10