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三元运算实现方法
Jan 12 Python
从Python的源码来解析Python下的freeblock
May 11 Python
Python 常用string函数详解
May 30 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
Python 闭包的使用方法
Sep 07 Python
python实现list由于numpy array的转换
Apr 04 Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
Feb 21 Python
对Python3中列表乘以某一个数的示例详解
Jul 20 Python
解决django 向mysql中写入中文字符出错的问题
May 18 Python
PyQt5的相对布局管理的实现
Aug 07 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中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
2016/12/05 PHP
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
用 JSON 处理缓存
2007/04/27 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
python结合API实现即时天气信息
2016/01/19 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
django框架model orM使用字典作为参数,保存数据的方法分析
2019/06/24 Python
Python原始套接字编程实例解析
2020/01/29 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
Python使用windows设置定时执行脚本
2020/11/12 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
2013年学期结束动员演讲稿
2014/01/07 职场文书
写演讲稿要注意的六件事
2014/01/14 职场文书
年终考核评语
2014/01/19 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
2015年银行员工工作总结
2015/04/24 职场文书
十个Python自动化常用操作,即拿即用
2021/05/10 Python
Python  lambda匿名函数和三元运算符
2022/04/19 Python