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抓taobao图片爬虫
Oct 26 Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 Python
python 性能提升的几种方法
Jul 15 Python
Python实现的HMacMD5加密算法示例
Apr 03 Python
Python 生成 -1~1 之间的随机数矩阵方法
Aug 04 Python
使用PyQt4 设置TextEdit背景的方法
Jun 14 Python
使用python进行广告点击率的预测的实现
Jul 04 Python
Python简单处理坐标排序问题示例
Jul 11 Python
解决django 新增加用户信息出现错误的问题
Jul 28 Python
python+OpenCV实现车牌号码识别
Nov 08 Python
django 外键创建注意事项说明
May 20 Python
使用pytorch 筛选出一定范围的值
Jun 28 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
php实现多张图片上传加水印技巧
2013/04/18 PHP
PHP制作万年历
2015/01/07 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
js textarea自动增高并隐藏滚动条
2009/12/16 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
JQuery实现鼠标移动到图片上显示边框效果
2014/01/09 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
两种不同的方法实现js对checkbox进行全选和反选
2014/05/13 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
jQuery实现日历效果
2020/09/11 jQuery
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
python将图片文件转换成base64编码的方法
2015/03/14 Python
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
2016/06/07 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
企业总经理职责
2014/02/02 职场文书
小学生安全演讲稿
2014/04/25 职场文书
青奥会口号
2014/06/12 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
Python基础知识之变量的详解
2021/04/14 Python
基于Golang 高并发问题的解决方案
2021/05/08 Golang