学习过了python写爬虫,怕以后完全不记得了,故简单把写的东西贴一下。
如果以后继续深入,再将这些代码功能补充完全。
CSS选择器,需要安装cssselect模块,用pip命令就可以,还需要安装lxml模块
还可以使用selenium简单模拟浏览器,或者使用PyQt4/PySide模拟浏览器动作
还有Scrapy爬虫框架。
另外,可能用到图像处理,PIL模块或者Pillow模块解决简单验证码的问题;cookielib模块解决cookies问题
使用的windows+python3.5.2
文件downloading.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
'''downloading.py
下载静态网页的功能组合成的模块
有一个下载器类class Downloader
一个下载限速类class Throttle
默认值:
DEFAULT_AGENT = 'wswp' --用户代理
DEFAULT_DELAY = 5 --延时5s
DEFAULT_RETRIES = 1 --重试下载次数
DEFAULT_TIMEOUT = 60 --超时时限
---'''
from urllib import request, error, parse
from datetime import datetime
import random
import time
import socket
DEFAULT_AGENT = 'wswp'
DEFAULT_DELAY = 5
DEFAULT_RETRIES = 1
DEFAULT_TIMEOUT = 60
class Downloader(object):
"""下载页面的类
属性:self.throttle = Throttle(delay)
self.user_agent = user_agent --用户代理
self.proxies = proxies --下载协议,默认为None
self.num_retries = num_retries --重试下载次数
self.opener = opener --request启动器,默认为None
self.cache = cache --下载缓存,默认关闭(None),需要自己定义cache类
类方法:download()和特殊类方法__call__()
如果不需要缓存和限速功能,直接调用download(),不用类实例就不会通过__call__()方法
"""

最低0.47元/天 解锁文章
1365

被折叠的 条评论
为什么被折叠?



