自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

京东放养的爬虫

努力成为一个优秀的人,我在北京要活的精彩。

  • 博客(37)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 python爬取京东所有iphone的价格和名称

原本想升一下级,用一下creep神马的,但是正则今天突然出了点小问题,我就生气了,就用正则抓取了一下。这个正则可以用re.search 或者 re.findall都可以,我比较喜欢用search因为可以直接提取结果不用在过滤了。代码如下,这个小爬爬比较简单。#-*- coding:utf-8 -*-import urllib2import jsonimport reSear

2015-04-30 00:27:08 4115 3

原创 python之分析decode、encode、unicode编码转换为汉字

decode()方法使用注册编码的编解码器的字符串进行解码。它默认为默认的字符串编码。decode函数可以将一个普通字符串转换为unicode对象。decode是将普通字符串按照参数中的编码格式进行解析,然后生成对应的unicode对象,比如在这里我们代码用的是utf-8,那么把一个字符串转换为unicode就是如下形式:s2=’哈’.decode(‘utf-8′),s2就是一个存储了’哈’字的u

2015-04-29 22:38:19 9614

原创 python抓取京东商城的商品名称和价格

突然心血来潮想抓一个京东的商品价格,突然发现网页的源码里没有价格这一项,只有商品的编号,网上说是显示的同事js从数据库里取出商品价格,放在页面上,那么我只能模拟请求了。哇咔咔,记得去你给京东投简历之后就没有然后了,难道就因为我也叫京东,你这也太浮夸了,给我幼小心灵造成创伤了。    原本要写一下creepy这个模块来抓取了,但今天时间不够了,明天还要上班。。。。明天再写那个模块吧,据说

2015-04-29 01:06:47 10490 3

原创 wifi通信过程的研究--(3)传输过程概念细分

三、 传输过程概念细分(一)、加密算法解析1、WEP1) WEP: Wired Equivalent Privacy2) 随802.11标准提出3) RC4加密算法4) 2种强度:40bits和104bits5) Initialization vector (IV) = 24 bits6) WEP2: 128bit2、 WPA1) WPA:草案的IEEE80

2015-04-28 15:35:39 3269

原创 wifi通信过程的研究--(2)Wifi传输认证过程

二、 Wifi传输认证过程(一)、终端与路由器认证过程1、无线扫描用户接入过程首先需要通过主动/被动扫描,再通过认证和关联 两个过程后才能和AP建立连接。2、认证过程为防止非法用户接入,首先需要在用户和AC/FATAP /Gateway之间建立认证,认证机制包括两种。只有通过认证后才能进入关联阶段。– 无加密认证以 SSID (Service Set ID)作为最基本的

2015-04-28 15:23:26 5784

原创 wifi通信过程的研究--(1)Wifi基本属性介绍

一、 Wifi基本属性介绍(一)、WLANWLAN是Wireless LAN(无线局域网)的简称,基于IP的的通信,能提供一定范围内的高速数据连接,一般采用2.4GHz或5.8GHz无线频段(ISM频段)传输,没有线缆限制,传输距离几十米,采用特殊技术可以达到几百米以上。IEEE在WLAN方面的工作只定义了二层以下的协议,目前主要集中在安全性、AP之间的信令、频谱扩展等方面。(二)

2015-04-28 14:48:21 4916

原创 python多线程多队列(BeautifulSoup网络爬虫)

程序大概内容如下:程序中设置两个队列分别为queue负责存放网址,out_queue负责存放网页的源代码。ThreadUrl线程负责将队列queue中网址的源代码urlopen,存放到out_queue队列中。DatamineThread线程负责使用BeautifulSoup模块从out_queue网页的源代码中提取出想要的内容并输出。这只是一个基本的框架,可以根据需求继续扩展

2015-04-27 23:22:00 3901 1

原创 使用python3.4解析xml文件(sax、dom、etree)

调用sax模块处理xml文件。#重载了三个方法#处理xml,主要就是写自己的事件处理类from xml.sax import *class DengHandler(ContentHandler): def startDocument(self): print("----开始解析xml文档----") def endDocument(self):

2015-04-27 21:54:49 4328

原创 python collection模块中几种数据结构(Counter、OrderedDict、namedtup)

collection模块中有几种数据结构我们可能用得到。Counter是字典的子类,负责计数的一个字典,支持 + 加法 - 减法 & 求公共元素 | 求并集print('Counter类型的应用')c = Counter("dengjingdong")#c = Counter({'n': 3, 'g': 3, 'd': 2, 'i': 1, 'o': 1, 'e': 1, 'j':

2015-04-27 21:48:47 2233

原创 python time模块

我们使用time模块主要就是提取时间嵌入到程序中。所以只要掌握获取时间的几个函数即可。import timext = time.localtime()print(xt)print(" 年份 :",xt.tm_year)print(" 月份 :",xt.tm_mon)print(" 日 :",xt.tm_mday)print(" 小时数 :",xt.tm_hour)pri

2015-04-27 21:46:19 1529

原创 python3.4多线程实现同步的四种方式(锁机制、条件变量、信号量和同步队列)

临界资源即那些一次只能被一个线程访问的资源,典型例子就是打印机,它一次只能被一个程序用来执行打印功能,因为不能多个线程同时操作,而访问这部分资源的代码通常称之为临界区。threading的Lock类,用该类的acquire函数进行加锁,用realease函数进行解锁import threadingimport timeclass Num: def __init__(sel

2015-04-27 21:26:27 3917 1

原创 python3.4多线程初次尝试

继承threading.Thread,并且创建7个线程,设置一个local的局部变量属性,并在线程的run函数中随机生成8个随机数,利用local属性存各自线程的随机数。调用start函数,启动线程,如果调用join函数则变为串行,执行完第一个线程再执行第二个线程依次执行,最后执行主线程。(注:python版本为3.4)import threadingimport timeimpo

2015-04-27 21:06:23 1468

原创 《c陷阱与缺陷》读书笔记

1. = 不同于 ==2. & 和 | 不同于 && 和 ||3. 编译器将程序分解成符号的方法是,从左到右一个一个读,直到读入的字符组成的字符串已不在可能组成一个有意义的符号,贪心的处理程序。如a --- b编译器就会认为是  a-- - b,而不是认为a - --b。4. 整数常量,如果一个整型常量第一个字符是0,那么该变量会被认为是8进制数。5. 单引号引起的一个字符实际上代

2015-04-27 16:27:54 1388

原创 python模拟浏览器登陆淘宝(设置代理、输入验证码)

python模拟浏览器登陆淘宝,其中有输入验证码和打开浏览器,设置代理IP等等。

2015-04-26 23:55:43 4652

原创 python模拟登陆人人网(通过BeautifulSoup module)

通过BeautifulSoup来登陆人人网。可以通过info = {'email':'','password':''}进行账号密码的初始化,一个BeautifulSoup的简单应用,过一阶段会写一个关于BeautifulSoup框架使用的小手册,欢迎大家关注啊,求各路读者大大多加指导。#-*- coding:utf-8 -*-import urllibimport urllib2impo

2015-04-26 23:24:11 2927

原创 Python命令行解析库argparse

python标准库推荐使用argparse模块对命令行进行解析。创建解析器import argparseparser = argparse.ArgumentParser()创建一个ArgumentParser实例对象,ArgumentParser对象的参数都为关键字参数。class ArgumentParser (prog=None, usage=None,

2015-04-25 22:05:06 4897

原创 python添加命令行参数和异常处理

异常处理+命令行解析库argparseSocket.error 与一般I/O和通信问题有关的Socket.gaierror 与查询地址有关的Socket.herror 与其他地址错误有关Socket.timeout 与一个socket上调用settimeout()后,超时处理有关#-*- coding:utf-8 -*-import sysimport socket

2015-04-25 21:09:50 2223

原创 python字节序转换+设置套接字超时时间

将数据在网络字节序和主机字节序之间相互转化。通过调用ntohl和htonl函数,l代表长整型32bit,s代表短整型16bit。import socketdef convert_integer(): data = 1234 # 32-bit print "Original: %s => Long host byte order: %s, Network byte

2015-04-25 19:59:44 2167

原创 python给定端口号和协议查询服务信息

getservbyport()函数的简单应用# -*- coding:utf-8 -*-import socket"""80端口是为HTTP即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW即万维网传输信息的协议。25端口为SMTP(简单邮件传输协议)服务器所开放,主要用于发送邮件。53端口是DNS服务器所开放的端口,入侵者可能是试图进行区域传递(TCP),欺骗

2015-04-25 19:45:51 2689

转载 什么是cookie?python中cookielib简单了解

什么是Cookie?当用户通过浏览器首次访问一个域名时,访问的WEB服务器会给客户端发送数据,以保持WEB服务器与客户端之间的状态保持,这些数据就是Cookie,它是 Internet 站点创建的 ,为了辨别用户身份而储存在用户本地终端上的数据,Cookie中的信息一般都是经过加密的,Cookie存在缓存中或者硬盘中,在硬盘中的是一些小文本文件,当你访问该网站时,就会读取对应网站的Cookie

2015-04-25 17:10:16 2174

原创 python模拟浏览器登陆人人网站

想要实现网站的登陆,post方法就是提交数据到网站,所以要post数据来用python实现登陆。当你想要登陆人人时,首先要知道网站的登陆细节(先发送账号和密码,返回cookie值,发送cookie到服务器,返回页面,再使用正则提取你想要的数据),我是通过HTTPfox来抓取http数据包来分析这个网站的登陆流程。同时,我们还要分析抓到的post包的数据结构和header,要根据提交的数据结构和he

2015-04-25 16:57:27 2140

转载 UnicodeEncodeError

from selenium import webdriverimport sysprint sys.getdefaultencoding()driver = webdriver.PhantomJS()driver.get("http://www.douban.com")print driver.titleUnicodeEncodeError: 'ascii' codec can't

2015-04-25 16:20:13 1738

原创 抓取百度贴吧python小爬虫 (2015最新版)

网上好多抓取贴吧的小爬虫都失效了,原因是百度贴吧的编码格式变了,或者是html代码变了,像这种简单的读取源代码的爬虫,只要网页源代码改变之后就得重新修改。请诸位大牛指点。# -*- coding:utf8 -*-"""程序就是读取网页的源代码,如果想获取相应的内容就找到其特定的格式,再利用正则表达式来获取。"""import stringimport urllib2import r

2015-04-23 22:57:46 2447

转载 html字符转义

显示说明实体名称实体编号 半方大的空白   全方大的空白   不断行的空白格  小于<<>大于>

2015-04-23 21:58:38 1249

原创 抓取糗百内容小爬虫(python2.7) 2015最新版

由于糗百网页格式又变了了,我就小小的更新了一下,现在只能抓取文字内容,过几天写一个可以文字图片一起抓取的,这个图片一定不能遗漏啊。。。。。有什么问题请您提出,跪求指正啊。# -*- coding:utf8 -*-"""新建立一个线程一直在提取想要的内容,pages中存取的内容小于两页的时候才爬去网页内容否则将会进入sleep,另一个线程就是在显示,一直有一个输入在循环,如果输入qu

2015-04-23 14:46:46 2540

原创 将ip地址转换为不同的格式

inet_aton() IP->十六进制inet_ntoa() 16进制->IPimport socketfrom binascii import hexlifydef convert_ip4_address(): for ip_addr in ['127.0.0.1', '192.168.0.1']: packed_ip_addr = socket.

2015-04-19 21:36:24 1499

原创 python获取远程设备的IP地址

有时需要将主机名转换成对应的IP地址,例如快速查询域名。假如将域名改一个不存在的域名,try-except块会捕捉错误,向用户显示一个错误信息。import socketdef get_remote_machine_info(): remote_host = 'www.python.org' try: print "IP address:%s" %socket.g

2015-04-19 21:09:45 3001

原创 python获取PC机器名和IP地址

利用socket包中的gethostname函数获取机器名之后,再调用gethostbyname函数获取机器的IP地址。import socketdef print_machine_info(): host_name = socket.gethostname() ip_address = socket.gethostbyname(host_name) print "

2015-04-19 21:00:18 2098

原创 python网络爬虫实践出真知(1)

一个下载网页的小程序,改编自汪海的blog。# -*- coding:utf-8 -*-'''就是一个简单读取网页,将网页存入文件的小程序'''import string,urllib2def baiduspider1(url,begin,end):#url 下载页面的地址 begin 开始页数 end 结束页数 for i in range(begin,end+1):

2015-04-18 00:28:06 1433

原创 汪海爬虫学习笔记1

网络爬虫网络爬虫就是一个爬行程序,一个抓取网页的程序,有的人说抓取数据很简单,但是管理爬虫就很困难,现在我还不太明白,多学习以后就懂了。其实网络爬虫抓取网页的过程和我们平时用浏览器登陆网页的原理是一样的,打开网页的过程就是浏览器作为一个浏览的“客户端”,向服务器端发送了 一次请求,把服务器端的文件“抓”到本地,再进行解释、展现。浏览器的功能是将获取到的HTML代码进行解析,然后将原始的代码转变

2015-04-12 21:07:18 1726

原创 HTTP状态码

HTTP状态码通常分为5种类型,分别以1~5五个数字开头,由3位整数组成:------------------------------------------------------------------------------------------------200:请求成功      处理方式:获得响应的内容,进行处理 201:请求完成,结果是创建了新资源。新创建资

2015-04-12 15:10:26 1247

转载 HTTP中GET与POST之间的区别

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。根据HTT

2015-04-12 14:34:48 1638

原创 MySQL基础入门之连接

连接连接大致分为内连接、外连接、交叉连接、自连接等等。 外连接就是一个表当做基表,然后根据匹配条件来显示其他表的内容的连接。它又可以分为左连接、右连接、全连接。#左连接 将表1作为基表进行匹配Select 列名列表 from 表1 left join 表2 其他条件;Select * from aa left join bb on aa.id = bb.id;Selec

2015-04-12 00:32:00 1198

原创 MySQL基础入门之查询续集

子查询子查询在逻辑上通常是两个查询,子查询就是提高了代码的简洁性,原本需要使用多个select语句完成的查询工作在一个查询中完成。按照子句分类可以分为三种,第一种就是where子句,第二种就是from子句,第三种就是exists子句。子查询根据结果集可以分为标量子查询、列子查询、行子查询、表子查询。where 子句 >>group by 子句>>having 子句>>order by

2015-04-11 20:24:23 1178

原创 MySQL基础入门之查询

增删改在语句上都很简单,但是单单查询却这么复杂,为什么呢?那我们简要分析一下哈,关键就是你所存储的信息与你想要的信息不一致,导致查询过于复杂,同样效率也是原因之一,由于网站的反应时间一定要可接受范围內,但数据库又十分庞大,导致查询语句变得十分重要,不能任性。有时我们也可调用器内置函数来实现想要的功能,例如count(用来计数)、sum(用来求和)、max(求最大值)、min(求最小值)、avg

2015-04-11 11:08:17 1221

原创 MySQL基础入门之增删改

MySQL特点MySQL优点就是体积小、速度快,而且最关键的是开源,可以根据需要更改源码。同样开源的还有PostgreSQL可能过一阶段才会学习,先学习MySQL做事不要贪多,鱼要一只一只吃^-^。右键选择属性可以更改其背景色和字体大小神马神马的,也可以更改配置文件my.ini中mysql段中的prompt内容就可以将将”mysql>“改为你想要的形式,我就改成了“ 京东Mysql>>”。

2015-04-09 23:38:39 1309

原创 python网络爬虫——基本概念及代码实现1

Python网络爬虫爬虫是什么?网络爬虫就是一段抓取网页的程序,基本操作就是抓取网页,每个网页都是有一段段代码组成的,爬虫的工作就是通过网页的链接地址寻找网页。 URI和URL的区别Web上每一种资源(文档、视频、图片、程序)都由一个通用资源标识符(URI)进行定位。URL是URI的一个子集,二者的区别在于,URI表示请求服务器的路径,定义这么一个资源,而URL同时说明要如何访

2015-04-01 00:21:24 2060

数电报告莫版

数电报告莫版

2012-07-12

数电课件科技

数电课件

2012-07-12

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除