python爬虫常用的模块分析


Posted in Python onAugust 29, 2014

本文对Python爬虫常用的模块做了较为深入的分析,并以实例加以深入说明。分享给大家供大家参考之用。具体分析如下:

creepy模块

某台湾大神开发的,功能简单,能够自动抓取某个网站的所有内容,当然你也可以设定哪些url需要抓。

地址:https://pypi.python.org/pypi/creepy

功能接口:

set_content_type_filter:
设定抓取的content-type(header中的contenttype)。包括text/html

add_url_filter:
过滤url,传入的可以是正则表达式

set_follow_mode:
设定递归模式,F_ANY:该页面上所有链接都会抓取。 F_SAME_DOMAIN和F_SAME_HOST类似。即同一个域名的都会抓取。F_SAME_PATH:同一路径的抓取。例如bag.vancl.com/l1/d3/1.jpg path为l1/d3/1.jpg,则path为l1/d3/*的都会抓取。这里可以根据需要增加自己的递归模式

set_concurrency_level:
设定线程最大数

process_document:
一般需要重写,处理网页内容,提取自己需要的内容。

selenium
可视化界面,抓取自动化,api使用超简单,完全像是自己在操作浏览器。

官方网站:http://www.seleniumhq.org/
python官方网站
http://pypi.python.org/pypi/selenium
webdriver api(很好用,建议多了解一下)
http://www.seleniumhq.org/docs/03_webdriver.jsp

以下是一个抓取凡客网站的例子:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

browser = webdriver.Firefox()
browser.get('http://bag.vancl.com/28145-28167-a18568_18571-b1-n3-s1.html#ref=hp-hp-hot-8_1_1-v:n')
elem = browser.find_element_by_name('ch_bag-3-page-next') # Find the search box
time.sleep(1)
print elem.get_attribute("href")
elem.click()

time.sleep(1)
elem = browser.find_element_by_name('ch_bag-3-page-next') # Find the search box
print elem.get_attribute("href")
elem.click()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python实现Tab自动补全和历史命令管理的方法
Mar 12 Python
Python版微信红包分配算法
May 04 Python
python DataFrame 修改列的顺序实例
Apr 10 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
Apr 27 Python
python整小时 整天时间戳获取算法示例
Feb 20 Python
python读取.mat文件的数据及实例代码
Jul 12 Python
Python学习笔记之lambda表达式用法详解
Aug 08 Python
Python 单例设计模式用法实例分析
Sep 23 Python
Python获取、格式化当前时间日期的方法
Feb 10 Python
Python QTimer实现多线程及QSS应用过程解析
Jul 11 Python
无需压缩软件,用python帮你操作压缩包
Aug 17 Python
Pytest测试框架基本使用方法详解
Nov 25 Python
python基础教程之循环介绍
Aug 29 #Python
Python中optionParser模块的使用方法实例教程
Aug 29 #Python
python基础教程之缩进介绍
Aug 29 #Python
python基础教程之常用运算符
Aug 29 #Python
python基础教程之序列详解
Aug 29 #Python
Python获取电脑硬件信息及状态的实现方法
Aug 29 #Python
python基础教程之基本数据类型和变量声明介绍
Aug 29 #Python
You might like
ajax实现无刷新分页(php)
2010/07/18 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
JQuery 常用操作代码
2010/03/14 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
python中global与nonlocal比较
2014/11/21 Python
django启动uwsgi报错的解决方法
2018/04/08 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
python函数与方法的区别总结
2019/06/23 Python
Python生成器常见问题及解决方案
2020/03/21 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
奥地利网上书店:Weltbild
2017/07/14 全球购物
学生自我鉴定范文
2013/10/04 职场文书
物流专业大学生求职信范文
2013/10/28 职场文书
实习协议书范本
2014/04/22 职场文书
创新社会管理心得体会
2014/09/12 职场文书
会计人员岗位职责
2015/02/03 职场文书
施工安全员岗位职责
2015/04/11 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
婚宴领导致辞
2015/07/28 职场文书
新教师教学工作总结
2015/08/12 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书
python数据分析之用sklearn预测糖尿病
2021/04/22 Python
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
MySQL RC事务隔离的实现
2022/03/31 MySQL