python爬取历史上的今天数据并展示。
生活随笔
收集整理的這篇文章主要介紹了
python爬取历史上的今天数据并展示。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
效果圖:
GitHub項目原碼
第一步肯定是先獲取數據
(現成的接口的要錢啊,就算免費也限量啊。)
百度搜索歷史上的今天
先看一看有沒有現成的數據,
打印完了之后發現啥數據都沒有,除了廣告
下一步就要看看有沒有json接口數據了
使用抓包工具Fiddler 教程在這Fillder下載配置及漢化補丁(Windows版本)
用Fiddler找到了,復制此url(下面有現成的網頁鏈接。)
查看json
數據輕松拿到了,接下來開始獲取
獲取并處理數據
- 保存json的url
項目結構圖
- 導入需要的包
在Scrapy_.py 文件下
- 分析url
爬蟲代碼如下(Scrapy_.py文件下):
import requests import json import time import redef get_Month():lt = time.localtime(time.time())lt = lt[1]if (lt>9):return str(lt)else: # 月份小于10前面加個0,保證格式return "0"+str(lt)def get_Day():return str(time.localtime()[2])def get_ts(): # 獲取時間戳return time.time()def returnApi():Api_list=[]month = get_Month()day = get_Day()ts = get_ts()headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36",}url = "https://baike.baidu.com/cms/home/eventsOnHistory/"+month+".json?_="+str(ts)html = requests.get(url=url,headers=headers).json()for i in range(len(html[month][month+day])): # 這個是上面url月份里具體的天數year = html[month][month+day][i]['year'] # 獲取事件的年title = html[month][month+day][i]['title'] # 獲取事件的標題link = html[month][month+day][i]['link'] # 獲取事件的詳情鏈接type = html[month][month+day][i]['type'] # 獲取事件的類型(birthday,death,event)desc = html[month][month+day][i]['desc'] # 獲取事件的詳情title = re.sub(r'<.*?>','',title) #去掉標題里一堆的超鏈接desc = re.sub(r'<.*?>','',desc)+'...' # 去掉詳情里一堆的超鏈接The_Api = {"year":year,"title":title,"link":link,"desc":desc,"type":type} # 組成一個字典Api_list.append(The_Api) # 列表套字典return json.dumps(Api_list) # 編碼成json數據,好調用if __name__ == '__main__':returnApi()Flask調用處理過的數據( 在API_.py下)
from Scrapy_ import returnApi import json from flask import Flask,render_templateapp = Flask(__name__) datas = json.loads(returnApi()) # 取的所有數據,列表套字典。 @app.route("/") def index():return render_template('index2.html',datas=datas)if __name__ == '__main__':app.run(debug="True",host="127.0.0.1",port='5001')HTML展示數據(在html2.html下)
- style樣式
- 展示數據列表
GitHub項目原碼
總結
以上是生活随笔為你收集整理的python爬取历史上的今天数据并展示。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dev-sidecar安装桌面版
- 下一篇: Python遍历字典的方法