首页
免费后端云服务
关于
推荐
免费图床源码
Search
1
小程序后端入门系列视频教程【一-微信开发工具介绍】
9,722 阅读
2
微信小程序三级联动之多列选择器
9,606 阅读
3
小程序开发免费后端之神秘利器分享
9,536 阅读
4
Golang-开发企业级资源权限管理【第一步表设计】-1
9,081 阅读
5
学会微信服务端开发第一步
8,979 阅读
日常记录
日常
随笔
Bmob后端云
从零开始学物联网
Serverless实战驾校小程序
心邮
Serverless
向量数据库
登录
Search
Magic
累计撰写
124
篇文章
累计收到
79
条评论
首页
栏目
日常记录
日常
随笔
Bmob后端云
从零开始学物联网
Serverless实战驾校小程序
心邮
Serverless
向量数据库
页面
免费后端云服务
关于
推荐
免费图床源码
搜索到
124
篇与
的结果
2012-09-09
php 检测网站是否能打开
php 检测网站是否能访问,网站状态检测。如果出现问题,邮件通知。1.实现网站检测代码点击(此处)折叠或打开 /** *Author:magic ysjheeqg#163.com *Date:15-1-2 *Time:11:48 *网站状态检测 */ header("Content-type: text/html; charset=utf-8"); include('functions.php'); $email_config=array( 'smtp_host'=>'smtp.163.com', 'smtp_port'=>'25', 'from_email'=>'ysjheeqg@163.com', 'from_name'=>'LaiKinsan', 'smtp_user'=>'yulongshuiji', 'smtp_pass'=>'', 'reply_email'=>'ysjheeqg@163.com', 'reply_name'=>'LaiKinsan', 'email_arr'=>array( '7878233@qq.com', '8292389@qq.com', ), 'test_email'=>'777777@qq.com', ); check_status(""); //region 检测网站状态 function check_status($url) { global $email_config; $ch=curl_init(); if(!$ch){ die("没开curl模块功能"); } curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER,1);//获取http头信息 curl_setopt($ch,CURLOPT_NOBODY,1);//不返回html的body信息 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//返回数据流,不直接输出 curl_setopt($ch,CURLOPT_TIMEOUT,30);//超时时长,单位秒 curl_setopt($ch,CURLOPT_HTTPAUTH,CURLAUTH_BASIC); curl_exec($ch); $info=curl_getinfo($ch); curl_close($ch); $string=$info['http_code']; if($string===200){ echo"ok"; }else{ foreach($email_config['email_arr']as $k=>$v){ $res=send_mail($v,'','网站问题通知邮件','这是一封通知邮件,如果收到了说明网站访问有问题,问题网址'.$url,'',$email_config); if($res==1){ echo"测试邮件已经发往你的邮箱"; }else{ echo"测试邮件发送失败"; } } } } 2.服务器设置定时执行程序。3.代码下载地址
2012年09月09日
4 阅读
0 评论
0 点赞
2012-05-18
iPhone无限重启怎么办,iphone无限重启解决办法
越狱后iphone安装不兼容或是破解越狱软件,导致无限重启,解决办法。今天iphone4 安装Anicons进入无限重启状态,最终解决,分享给大家。 1.用iTools,或是iFunBox,进入系统文件管理 2.找到Library/MobileSubstrate/DynamicLibraies/Anicons.plist,Anicons.dylib,删除就好。** 3.重启手机 后来与一些朋友交谈,这个方法适用于iphone5s,以及各个版本的iphone越狱安装APP无限重启,只要删掉这个目录的“你安装的软件名”,plist,.dylib,两个文件就可以解决。
2012年05月18日
3 阅读
0 评论
0 点赞
2012-02-09
IT项目开发流程
记录备份
2012年02月09日
1 阅读
0 评论
0 点赞
2012-01-17
Python 一个简单的爬虫代码
#-*-coding:utf-8-*- import urllib2 import urllib import re import thread import time #-----------加载处理糗事百科----------- class Spider_Model: def __init__(self): self.page=1 self.pages=[] self.enable=False # 将所有的段子都扣出来,添加到列表中并且返回列表 def GetPage(self,page): myUrl=""+page user_agent='Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' headers={'User-Agent':user_agent } req=urllib2.Request(myUrl,headers=headers) myResponse=urllib2.urlopen(req) myPage=myResponse.read() #encode的作用是将unicode编码转换成其他编码的字符串 #decode的作用是将其他编码的字符串转换成unicode编码 unicodePage=myPage.decode("utf-8") # 找出所有class="content"的div标记 #re.S是任意匹配模式,也就是.可以匹配换行符 myItems=re.findall('(.*?) ',unicodePage,re.S)items = []for item in myItems:item 中第一个是div的标题,也就是时间item 中第二个是div的内容,也就是内容items.append([item[0].replace("\n",""),item[1].replace("\n","")])return items用于加载新的段子def LoadPage(self):如果用户未输入quit则一直运行while self.enable:如果pages数组中的内容小于2个if len(self.pages) < 2:try:获取新的页面中的段子们myPage = self.GetPage(str(self.page))self.page += 1self.pages.append(myPage)except:print '无法链接糗事百科!'else:time.sleep(1)def ShowPage(self,nowPage,page):for items in nowPage:print u'第%d页' % page , items[0] , items[1]myInput = raw_input()if myInput == "quit":self.enable = Falsebreakdef Start(self):self.enable = Truepage = self.pageprint u'正在加载中请稍候......'新建一个线程在后台加载段子并存储thread.start_new_thread(self.LoadPage,())----------- 加载处理糗事百科 -----------while self.enable:如果self的page数组中存有元素if self.pages:nowPage = self.pages[0]del self.pages[0]self.ShowPage(nowPage,page)page += 1----------- 程序的入口处 -----------print u"""---------------------------------------程序:糗百爬虫版本:0.3作者:why日期:2014-06-03语言:Python 2.7操作:输入quit退出阅读糗事百科功能:按下回车依次浏览今日的糗百热点---------------------------------------"""print u'请按下回车浏览今日的糗百内容:'raw_input(' ')myModel = Spider_Model()myModel.Start()
2012年01月17日
2 阅读
0 评论
0 点赞
2011-12-07
scrapy实战百度百科数据抓取
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 架构 图scrapy中文手册1.安装SCRAPY2.创建一个Scrapy项目点击(此处)折叠或打开 scrapy startproject tutorial 生成 tutorial/ scrapy.cfg tutorial/ __init__.py items.py pipelines.py settings.py spiders/ __init__.py ... 3.新建抓取文件spiders/baike_spider.py,实现代码 点击(此处)折叠或打开 #-*-coding:utf-8-*- from scrapy.spider import BaseSpider from scrapy.http import Request from scrapy.selector import HtmlXPathSelector from tutorial.items import BaikeItem from scrapy.contrib.spiders import CrawlSpider,Rule from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor i=0 not_data=0 #统计未采集到的条数 class BaikeSpider(CrawlSpider): name="baike" #减慢爬取速度 为1s # download_delay=1 allowed_domains=['baike.baidu.com'] start_urls=[ "互联网" ] rules=[ Rule(SgmlLinkExtractor(allow=('/?limit=30&index=([\w]+)&offset=([\d]+)\#gotoList',),)), Rule(SgmlLinkExtractor(allow=('/view/',), restrict_xpaths=('//div[@class="list"]')), callback='parse_item', ), ] def parse_item(self,response): global i,not_data i+=1 #记录抓取条数 print i item=BaikeItem() sel=HtmlXPathSelector(response) baike_url=str(response.url) baike_name=sel.xpath('//div[@id="sec-content0"]/h1/span[@class="lemmaTitleH1"]/text()').extract() baike_desc=sel.xpath('//div[@class="card-summary-content"]/div[@class="para"]/text()').extract()[0] ifnotbaike_name: not_data+=1 #记录未抓取到的条数 print not_data ifnotbaike_desc: baike_desc='未抓取到' item['title']=[n.encode('utf-8')forninbaike_name] item['link']=baike_url.encode('utf-8') item['desc']=baike_desc yield item 4.编写item 点击(此处)折叠或打开 class CsdnItem(scrapy.Item): blog_name=scrapy.Field() blog_url=scrapy.Field() 5.保存数据到mysql 点击(此处)折叠或打开 #-*-coding:utf-8-*- # Define your item pipelines here #保存文件 # Don't forget to add your pipeline to the ITEM_PIPELINES setting # See: from scrapy import log from twisted.enterprise import adbapi from scrapy.http import Request from scrapy.exceptions import DropItem import time import MySQLdb import MySQLdb.cursors import json import codecs class TutorialPipeline(object): def __init__(self): self.dbpool = adbapi.ConnectionPool('MySQLdb', db = 'test', user = 'root', passwd = '', cursorclass = MySQLdb.cursors.DictCursor, charset = 'utf8', use_unicode = False ) def process_item(self, item, spider): query = self.dbpool.runInteraction(self._conditional_insert, item) query.addErrback(self.handle_error) def _conditional_insert(self, tx, item): if item.get('title'): tx.execute(\ "insert into test(id,title, link, descc ) \ values (null,%s,%s,%s)", (item['title'],item['link'],item['desc']) ) 6.执行代码 7.效果
2011年12月07日
3 阅读
0 评论
0 点赞
1
...
20
21
22
...
25