分类 Python 下的文章

一则Incorrect string value问题

今天被一个python读写mysql的编码问题折腾了好几个小时,一开始还以为是Python3的中文编码的历史遗留问题,但最后发现是MariaDB(即Mysql)的锅。情况是这样的,有一批GBK编码的网页,用Python3的requests抓下数据后,主要写入代码如下: class Contract: conn = pymysql.connect(host='127.0...

继续阅读 »

神奇的Python混乱代码

Python代码一直是讲究整洁的,其格式化的特性已经深入代码的编写,但是即使是这样从语法上限制格式还是有NB人士写出了下面的混乱代码,下面就是一段神奇的Python混乱代码,代码效果是生成彭罗斯铺砖图案:当这段代码运行时,它会产生一个1000×1000的png格式的彭罗斯铺砖图案,里面包含有大概2212个具有3D浮雕效果的彭罗斯铺砖图。这个脚本需要Pycairo代码库。它只能运行在Pytho...

继续阅读 »

折腾Python人人爬虫的收获

晚上折腾Python写人人网爬虫,目标是所有好友的相册和个人资料以及通讯录信息,目前相册抓取借助网上一位TX发现的人人相册的小Bugs已经实现,晚上对两个以前不喜欢用的功能颇有所得,在这里暂且记录一下。首先是Python内置的数据库引擎Shelve,Python的数据持久化操作主要有六类:普通文件、DBM文件、Pickled对象存储、shelve对象存储、对象数据库存储、关系数据库存储。咱们...

继续阅读 »

Python抓取教务处信息

练习使用类、多线程、urlib库的时候写的一个东西,作用是从教务处抓取年级信息、班级信息、学生信息、学生成绩信息等。当时写得有些乱,纯三无产品,不过基本能用,且网络好的情况下效率不低,多线程抓取,出错自动重试,需要的TX可以参考或者直接用来抓取数据。用到的库有urllib2,cookielib,os,sys,urllib,re,MySQLdb,threading,time,Queue,其中M...

继续阅读 »

Python多线程抓取

将前几天初玩Python时写的一小段代码改装成了多线程处理的结构:N个抓取线程加上一个入库进程。基本上注释里已经写得比较清楚了,感觉Python对多线程的支持确实不错,经测试下面的代码在使用100线程抓取时仅占用8MB左右内存和6%左右的CPU: #encoding=utf-8 import threading import random import...

继续阅读 »

让Python支持Mysql

在给Python安装Mysql支持时使用源码安装,结果出现了如下提示: D:\tddownload\Software\MySQL-python-1.2.3>python setup.py build Traceback (most recent call last): File "setup.py", line 15, in <mod...

继续阅读 »