Tag Archives: Python

Python中使用selenium抓取Javascript动态页面

selenium是一套用于测试WebUI的自动化测试框架,它通过调用Chrome、Firefox来完成动态页面(含Javascript)的加载,因此也可以用来完成动态网页抓取。

1、下载selenium
wget http://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar
2、启动selenium-standalone
java -jar ./selenium-se[......]

继续阅读

Python抓取框架Scrapy快速入门教程

Scrapy是一个非常好的抓取框架,它不仅提供了一些开箱可用的基础组建,还能够根据自己的需求,进行强大的自定义。本文对基本用法和常见问题做一个记录。

1、安装

Scrapy虽然是python的模块,但是依赖包比较多,所以我推荐使用apt安装:
sudo apt-get install python-scrapy
编译狂人 或者 处女座 可以从Pypi上下载自行编译安装。友情提示下:pip或者ezsetup上的自动依赖是不全的,需要自己再补其他包。

本文所用的版本是当前最新版[......]

继续阅读

Python中函数的参数传递与可变长参数

转载自:Python中函数的参数传递与可变长参数

1.Python中也有像C++一样的默认缺省函数
def foo(text,num=0):
print text,num

foo("asd") #asd 0
foo("def",100) #def 100
定义有默认参数的函数时,这些默认值参数位置必须都在非默认值参数后面。

调用时提供默认值参数值时,使用提供的值,否则使用默认值。

2.Python可以根据参数名传参数
def foo(ip,port)[......]

继续阅读

Python中使用pack/unpack编码字节数据

在Python中,是没有int, long这些c系的强类型的,但是有的时候,我们需要按照字节规则,生成这样的数据。

例如:生成一份网络序的,char+unsigned long数据(4+8字节):
from struct import pack
pack('!BQ', 100, 1000)
'd\x00\x00\x00\x00\x00\x00\x03\xe8'
其中,第1个!表示为网络字节序。

BQ是占位符号,分别表示8bit的unsigned char和64bit的unsi[......]

继续阅读