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装饰器使用方法实例
Nov 21 Python
python 实现删除文件或文件夹实例详解
Dec 04 Python
利用python实现简单的循环购物车功能示例代码
Jul 05 Python
python 文件操作删除某行的实例
Sep 04 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
Sep 17 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
Jun 18 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
Jul 03 Python
python交易记录整合交易类详解
Jul 03 Python
python-序列解包(对可迭代元素的快速取值方法)
Aug 24 Python
python实现快递价格查询系统
Mar 03 Python
聊聊Python中关于a=[[]]*3的反思
Jun 02 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设计模式 Builder(建造者模式)
2011/06/26 PHP
PHP 验证码的实现代码
2011/07/17 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
2013/04/10 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
JS实现标签滚动切换效果
2017/12/25 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
[03:08]Ti4观战指南上
2014/07/07 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
python机器学习之神经网络(二)
2017/12/20 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
django之状态保持-使用redis存储session的例子
2019/07/28 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
详解Django中异步任务之django-celery
2020/11/05 Python
python 写一个文件分发小程序
2020/12/05 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
大学学年自我鉴定
2013/10/28 职场文书
保洁主管岗位职责
2013/11/20 职场文书
优秀驾驶员先进事迹材料
2014/05/04 职场文书
酒店管理毕业生自荐信
2014/05/25 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
党支部考察鉴定意见
2015/06/02 职场文书