排名
17
文章
40
粉丝
16
评论
21
Linq or Sql 取树末级节点
剑轩 : 这个方法是真的帅!
Python实例 2-12306抢票(二) 下单
18335584353 :
哥。我也是总返回url":"/leftTicket/init","...
Python实例 2-12306抢票(一) 登陆
瑾语 : 第三次评论
Visual Studio小技巧
剑轩 : [斜眼笑][斜眼笑]开会完了认真看了一遍
C#网络流读取(图片)
风清月 : 把一个图片放到字节数组里边[发呆](`・ω・´)
C#与Java二进制编码转换,补码
风清月 : 我勒个擦.....有时间这种问题很坑很难发现哇o(╥﹏╥)o
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术

有时候数据出了问题,可以从日志中恢复数据(如果你没记日志..没备份..→_→..)
一、日志展示
介绍个平常自己用的小方法,如果你的日志没有单独的模块或页面管理的话
日志记录在文件中,可以在IIS中新建一个站点 指向你的日志文件,站点开启目录浏览
然后就可以
就可以比较方便看 查找之类..
二、抓取数据
然后就是抓取的问题了,用python把网页源码抓取下来,根据需求拿数据 当然如果你能直接拿到日志文件 用IO读取文件的方式(你本地的情况下,一般生产环境的日志你应该访问不到)更容易
我要取日志中到货更新的时间:
代码:
- import json
- import urllib.request
- import re
- import threading
- import pymysql
-
- def GetContent(url):
- headers = {
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"
- }
- req = urllib.request.Request(url, headers=headers)
- data = urllib.request.urlopen(req).read()
- return data
-
- conn = pymysql.connect('数据库IP地址', 'name', 'password', 'DB_NAME')
- excuter = conn.cursor()
-
- #太多可以使用多线程抓取
- for i in range(18):
- i+=1
- if(i<10):
- url='http://localhost:8300/OrderAPI/LOG_2018-12-0'+str(i)+'.txt'
- else:
- url='http://localhost:8300/OrderAPI/LOG_2018-12-'+str(i)+'.txt'
- data = GetContent(url).decode('utf-8')
- content = re.findall(re.compile('到货状态更新成功。 一(.*?)\r\n详细:\r\nid:(.*?)。OrderCode:(.*?)\r\n',re.S), data)#.*? "到货状态更新成功。 一(.*?)\r
- for item in content:
- sql = "update t_order set Time1='"+str(item[0])+"' where Id="+str(item[1])
- print(sql)
- excuter.execute(sql)
- conn.commit()
- print('Tosql Succ!!!')
- excuter.close()
- conn.close()
需要注意 需要下载一个连接操作mysql的库 :pip install PyMySQL
结果:
数据拿回来了,想怎么操作都行,数据太多可以用多线程来抓取
python的代码贴过来就乱了 有点难受
具体情况 根据你的需要来,怎么抓取怎么操作,这篇文章只是提供一个思路
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
评价