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 相关文章推荐
在类Unix系统上开始Python3编程入门
Aug 20 Python
再谈Python中的字符串与字符编码(推荐)
Dec 14 Python
Python查找两个有序列表中位数的方法【基于归并算法】
Apr 20 Python
Django添加KindEditor富文本编辑器的使用
Oct 24 Python
python 不同方式读取文件速度不同的实例
Nov 09 Python
Python3.5装饰器典型案例分析
Apr 30 Python
PyCharm 创建指定版本的 Django(超详图解教程)
Jun 18 Python
Python中PyQt5/PySide2的按钮控件使用实例
Aug 17 Python
python十进制转二进制的详解
Feb 07 Python
python爬虫智能翻页批量下载文件的实例详解
Feb 02 Python
Django REST framework 限流功能的使用
Jun 24 Python
浅析Python中的随机采样和概率分布
Dec 06 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
推荐文章系统(一)
2006/10/09 PHP
PHP实现用户认证及管理完全源码
2007/03/11 PHP
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
用PHP实现递归循环每一个目录
2010/08/08 PHP
字母顺序颠倒而单词顺序不变的php代码
2010/08/08 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
用JavaScript实现动画效果的方法
2013/07/20 Javascript
学习Bootstrap组件之下拉菜单
2015/07/28 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
图片上传之FileAPI与NodeJs
2017/01/24 NodeJs
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
微信小程序如何实现在线客服功能
2019/10/16 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
[01:03:27]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
Python实现的最近最少使用算法
2015/07/10 Python
Python实现的购物车功能示例
2018/02/11 Python
对tensorflow 的模型保存和调用实例讲解
2018/07/28 Python
Python中fnmatch模块的使用详情
2018/11/30 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
Python读写压缩文件的方法
2020/07/30 Python
SHEIN美国:购买时髦的女性服装
2020/12/02 全球购物
2014年党委工作总结
2014/11/22 职场文书
上甘岭观后感
2015/06/10 职场文书
女儿满月酒致辞
2015/07/29 职场文书
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏
centos7安装mysql5.7经验记录
2022/05/02 Servers