[小总结]小爬虫常用

一个小总结,不是很全面,之间有注意过,但是还是不是全部的,以后慢慢完善。
首先是常用方法(函数):

1.dir()
有两种效果:
I.功能:列出当前环境变量下的所有变量或者引入模块
用法:dir()
返回:list值,当前环境变量下的所有变量或者引入模块
II.功能:列举出某个变量的操作方法(函数)
用法:dir(x)
返回:一个list,里面包括了该变量的操作方法。

2.type()
功能:判断变量类型
用法:type(x)
返回:type值,告诉你变量是什么类型

3.str()
功能:把变量转为字符串给人看
用法:str(x)
返回:字符串

4.repr()
功能:把变量转为字符串给机器用
用法:repr(x)
返回:字符串

5. .encode()
功能:转码
用法:x.encode(“编码”),其中x为字符串,括号里面的是要转为的编码,比如“UTF-8”。
返回:转为什么编码就是返回什么编码的字符串

6. decode()
5的逆

然后是模块介绍
1.os
介绍:创建目录,更改工作路径…

2.re
介绍:正则模块,个人多用re.findall()方法

3.lxml
介绍:这货是模块集合,里面还有html,etree等模块,用来处理html,个人多用html模块,html.document_fromstring()和html.tostring()总是很爽,
是用C写的,比那些BS4什么的鬼东西好多了。
官网:http://lxml.de/

4.requests
介绍:用来发起请求,我见有人写过拒绝服务攻击的,个人多用resquests.Session(),自己保存cookies,基于urllib3.grequests好像是它的多线程模块,现在发现一些问题,不过还是很好用的。
官网:http://www.python-requests.org/en/master/

5.Mysqldb
介绍:Mysql操作的模块

6.Sqlite3
介绍:sqlite3操作的模块

7.ConfigParser
介绍:配置文件的操作模块,xxx.conf文件

8.codecs
介绍:文件与编码相关的模块,可以创建指定编码的文件,比如UTF-8的

9.time
介绍:时间相关的模块,相似的还有datetime模块

10.csv
介绍:操作csv文件的模块

DBopt.py

我写的一个关于数据库操作的文件。
Mysql版
SQLITE3的我还没有git上去。

可能别人也写有相关模块,但是我还是重新做一下轮子,有自己写的,做起程序来会明了一些。不过看样子,这个只是很低效率,并没有涉及到多线程或者多进程。
现在也只是实现了查询和插入的使用,其它的并没有实现。唔,上次还有个错误,以后会进一步的完善。

requests的应用实例

爬虫er们,请丢弃你的bs4和urllib,
他们是平时用来学习模块就好,别拿来真的用,真的爬东西,
是需要requests,这货太强大了。
下面是它的
文档地址:http://www.python-requests.org/en/latest/  ,其实我就是为了懒得管理cookies。用起来很简单
先安装

pip install requests

# -*- coding:UTF-8 -*-
# __author__ = ’kohna’

import requests   
url = "http://lotrc.com/"  # 定义URL
see = requests.Session()   # 初始化对象
tmp = see.get(url)         # 使用get方法
print tem.content          # 打印结果

这个是get的实例,POST也是简单极了

# -*- coding:UTF-8 -*-
# __author__ = ’kohna’

import requests
url = "http://lotrc.com/"
dat = {"key":"value"}      # 定义要POST的数据
see = requests.Session()
tmp = see.post(url,dat)    # 向POST方法传送URL和要POST的数据  
print tem.content

入门就这样子了,我们通常用get方法来请求一个页面,然后用post方法来提交表单,模拟登录或者搜索是什么的。
然后再配合上我们另外强大的lxml模块就是逆天了。