
python
文章平均质量分 63
凤凰传奇的粉丝
这个作者很懒,什么都没留下…
展开
-
python爬虫之正则表达式
search函数import re #re库pattern=re.compile(r'worlda') #compile编译生成可操作对象m=re.search(pattern,'hello world!') #search的结果有一些属性,其 #中group()返回[**如果查找成功,则返回匹配的段落*原创 2017-06-03 19:05:19 · 219 阅读 · 0 评论 -
我爬爬爬虫(1)-初识urllib模块
urllib库的使用request.urlopen()函数urlopen(url)可以发送请求,也可以加上data,timeout等参数。response=request.urlopen(url)timeout参数设置timeout参数,如果响应时间超过timeout,则抛出异常。response=request.urlopen(request,timeou...原创 2018-05-14 23:35:04 · 159 阅读 · 0 评论 -
我要爬爬虫(2)-实例化处理器,代理及cookie
实例化处理器 当我们请求一个带有弹出窗口验证的网页,例如http://httpbin.org/basic-auth/user/passwd HTTPPasswordMgrWithDefaultRealm函数可以加入用户名和密码信息。 使用HTTPBasicAuthHandler函数实例化处理器。 使用build_opener函数可以实例化一个opener,是上节学习的urlopen...原创 2018-05-15 06:05:02 · 465 阅读 · 1 评论 -
我要爬爬虫(5)-正则表达式
正则之前就学过,也用过,这里再过一遍吧~ python中主要使用re模块操作正则。 正则表达式测试工具http://tool.oschina.net/regex/,直接把文本转成正则。常用规则\w 字母,数字,下划线\W 非\w\s 空\S 非空\d 数字\D 非数字\n 换行^ 字符串开头. 任意非换行字符* 匹配0个或多个表达式+ 匹配一个或多个表达式? 非贪...原创 2018-06-07 01:39:23 · 200 阅读 · 0 评论 -
我要爬爬虫(4)-初识requests模块
与urllib模块不同,requests模块发送请求可以用明确定义的函数实现,如: requests.get() requests.post() 不需要urlopen()和handler(),更加方便发送请求。import requests,jsondata={ 'name':'Tom', 'age':1}re=requests.get('http://httpbi...原创 2018-05-31 22:58:38 · 747 阅读 · 0 评论 -
我要爬爬虫(9)-Ajax数据爬取
很多网页的源代码和其实际的展示效果不一样,是因为有两段请求,除了我们向服务器发送的请求,还有该页面发送的ajax请求,是它把简单的原网页渲染成展示出来的效果。我们的目的就是实例化这个请求。 ajax请求的类型为xhr。 referer:ajax 请求的发送者 X-Request-With:XMLHttpRequest 这个属性标记该请求为ajax请求。import requestsfr...原创 2018-08-13 20:47:34 · 427 阅读 · 0 评论 -
我要爬爬虫(10)-selenium使用
selenium是一个自动化测试工具,之前实现自动购票的时候就用过,这里再学一遍。就是驱动浏览器执行操作,比如点击,输入,拖拽等等。 selenium下有对应很多浏览器的webdriver,例如browser=webdriver.Chrome()#这里只要实例化,就会打开指定的浏览器这样就实例化一个chrome浏览器对象。 然后请求网页,获取源代码。browser.get('htt...原创 2018-08-14 00:33:39 · 354 阅读 · 0 评论 -
我要爬爬虫(11)-用selenium爬取淘宝商品信息
思路就是用selenium操作浏览器,访问淘宝,输入关键词,查找,用pyquery解析目标信息,翻页,存储到mongodb. 函数定义三个:1 打开浏览器,查找初始化,翻页from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support....原创 2018-08-17 17:03:47 · 576 阅读 · 0 评论 -
我要爬爬虫(12)-识别验证码
常见的几种验证码图形验证码安装tesserocr之后 import tesserocrfrom PIL import Imageimage = Image.open('origin.png') #打开一个图片对象text = tesserocr.image_to_text(image) #从图片中识别文字结果:6mg 因为图中的线条会干扰识别结果,所以需要对图片进行二...原创 2018-09-11 21:09:55 · 416 阅读 · 0 评论 -
python操作excel和csv
python操作excel和csv用xlrd读取新的改变用xlwt写入解决csv文件打开是乱码用xlrd读取你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。# 将数据写入新文件def data_write(file_path, datas): f = xl...原创 2019-01-10 16:16:06 · 1517 阅读 · 0 评论 -
代码缺陷密度计算
代码缺陷密度代码缺陷密度是一种度量代码质量的指标,这里采用 按照每个bug的严重程度定义它们的权重,然后加起来得到总缺陷值,最后除以KLOC(千行代码)得到每千行代码的缺陷密度。禅道bug值为了获取bug的相关信息,我决定爬取禅道项目的bug提交列表。其实禅道的api文档写的很简略,单看一篇根本看不懂,我看了好几篇,又问了客服,自己又试了好多次,才获取到目标数据。URL:http://z...原创 2018-11-27 16:51:12 · 5114 阅读 · 0 评论 -
Python 多进程(1)
进程与线程的初步了解计算机系统中的各类任务,例如打开word,播放器,均有各自的进程(Process)。 而一个进程至少拥有一个线程,是一对多的关系。例如,播放电影的进程中,音频和视频是同步播放的,它们即为隶属于统一进程的不同线程(Thread)。 多线程和多进程最重要的一个特点就是并行,即同时进行。客观来说,并发与并行的区别这里写代码片快捷键加粗 Ctrl...原创 2018-05-07 21:38:15 · 227 阅读 · 0 评论 -
我要爬爬虫(3)-解析链接,Robots协议
解析链接我们经常需要对url进行合并,提取,转换等操作,urllib下的parse模块了解一下~解析链接urlparse() 把url解析为一个6元素的列表,包括scheme,netloc,path,params,query,fragment. urlunparse() urlparse的逆操作,把列表转化成url. urlsplit() 和urlparse()函数类似,...原创 2018-05-19 01:51:44 · 567 阅读 · 0 评论 -
爬取糗事百科数据
爬取页面代码import urllib.requestimport urllib.errorfrom urllib.request import urlopen #使用URLopen函数需要从包中声明url='http://www.qiushibaike.com/hot/page=1'agent='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit原创 2017-06-04 17:49:36 · 502 阅读 · 0 评论 -
爬取需要登录的网站数据
爬去某大学某学生的课程表 先查看该网站的request方法和数据表单 request方法是get 表单头为u和p import urllib.requestimport http.cookiejarimport urllib.parsefrom urllib.request import urlopenurl="https://gsdb.bjtu.edu.cn/client/log原创 2017-09-22 23:33:58 · 5425 阅读 · 0 评论 -
Python 图片对比
#coding=utf-8from PIL import Imageimport mathimport operatorfrom functools import reducedef image_contrast(img1, img2): image1 = Image.open(img1) image2 = Image.open(img2) h1 = im转载 2017-08-10 14:52:25 · 1196 阅读 · 0 评论 -
Python文件传输
# -*- coding: utf-8 -*-import threadingimport timeimport os,sysimport shutilfrom tube import progressbarfrom os.path import join, getsizefrom shutil import Errorfrom shutil import copystatfr原创 2017-07-20 10:40:43 · 2192 阅读 · 0 评论 -
Python使用数据库
import MySQLdbconn=MySQLdb.connect( host='localhost', port=3306, user='root', passwd='123456', db='sys', )cur=conn.cursor()sqli="insert into zdz values(%s,%s)"cur.executem转载 2017-07-21 14:46:35 · 233 阅读 · 0 评论 -
python 函数
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。abc = ['com','fnng','cnblogs']for i in range(len(abc)): print len(abc[i])#========输出===========347R转载 2017-08-04 09:04:16 · 332 阅读 · 0 评论 -
Python pytest测试
#!/usr/bin/env python# -*- coding:utf-8 -*-import itchatimport timedef func(x): return x+1def test_answer(): assert func(3)==5#!/usr/bin/env python# -*- coding:utf-8 -*-import转载 2017-08-07 14:11:02 · 383 阅读 · 0 评论 -
Python微信
安装setuptool 安装pip 安装itchat微信把好友的消息返回给好友#! /usr/bin/env python#coding=gbkimport itchat@itchat.msg_register(itchat.content.TEXT)def print_content(msg): return msg['Text']itchat.auto_logi转载 2017-08-04 11:44:03 · 501 阅读 · 0 评论 -
训练数据识别小猫图片
import numpy as npimport matplotlib.pyplot as pltimport h5pyimport scipyfrom PIL import Imagefrom scipy import ndimageimport lr_utilsfrom scipy.misc import imreadfrom numpy import *def sigmoid(原创 2017-10-20 11:10:54 · 757 阅读 · 0 评论 -
查看被占用的端口号,并杀死它
sudo lsof -i:3000转载 2017-11-22 22:27:06 · 241 阅读 · 0 评论 -
关于Linux下多版本的Python配置
系统中本来有Python2.7,之后我安装了Python3.5,今天我又安装了3.6.3. 首先从从网上下载Python3.6.3的压缩包到/usr/bin,并解压tar -xvf Python-3.6.3.tar, 然后创建安装目录 mkdir /usr/local/python3.6, 接着安装 make all,make install,make clean,make distclean原创 2017-12-03 19:27:54 · 522 阅读 · 0 评论 -
自动刷新订火车票
学习了webdriver定位的相关知识,splinter和selenium都可以实现,语法略有不同。 在选择始发站,目的地和时间的时候,需要把cookie添加到指定位置。 使用sleep(3)可以使程序暂停几秒钟,防止网络延迟导致程序执行出错。from splinter.browser import Browserfrom time import sleepclass Buy_Tic...转载 2017-12-17 01:07:52 · 392 阅读 · 0 评论 -
python动态规划
输出Fibonacci Sequence的第n个数思路:把每次的结果放在字典里from functools import wrapsdef memo(func): cache={} @wraps(func) def wrap(*args): if args not in cache: cache[args]=func(*ar...转载 2018-04-30 16:12:30 · 1043 阅读 · 0 评论 -
我要爬爬虫(14)Android下charles抓包
移动端数据的爬取也可以分为两种,一种是类似于requestf原创 2019-01-10 16:16:59 · 650 阅读 · 0 评论