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批量制作雷达图的实现方法
Jul 26 Python
Python在图片中添加文字的两种方法
Apr 29 Python
Python实现的选择排序算法原理与用法实例分析
Nov 22 Python
TensorFlow搭建神经网络最佳实践
Mar 09 Python
Windows下Python3.6安装第三方模块的方法
Nov 22 Python
学习python可以干什么
Feb 26 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
Jun 08 Python
python启动应用程序和终止应用程序的方法
Jun 28 Python
Python中那些 Pythonic的写法详解
Jul 02 Python
Python简单处理坐标排序问题示例
Jul 11 Python
python3的pip路径在哪
Jun 23 Python
python+pytest接口自动化之token关联登录的实现
Apr 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
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
php IP转换整形(ip2long)的详解
2013/06/06 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
prototype 中文参数乱码解决方案
2009/11/09 Javascript
jquery easyui的tabs使用时的问题
2010/03/23 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
2014最热门的JavaScript代码高亮插件推荐
2014/11/25 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
2016/03/14 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
让python 3支持mysqldb的解决方法
2017/02/14 Python
Java分治归并排序算法实例详解
2017/12/12 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
python+django+rest框架配置创建方法
2019/08/31 Python
详解如何修改python中字典的键和值
2020/09/29 Python
python爬取招聘要求等信息实例
2020/11/20 Python
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
mysql_pconnect()和mysql_connect()有什么区别
2012/05/25 面试题
食品安全汇报材料
2014/08/18 职场文书
元旦主持词开场白
2015/05/29 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL