python爬虫常用的模块分析

yipeiwu_com6年前Python爬虫

本文对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 GUI–Tkinter简单实现个性签名设计)的代码,原先的代码是基于Python2的,我这份代码基于Python3 并针对当前的网站做了相应调整 前置...

Python 抓取动态网页内容方案详解

Python 抓取动态网页内容方案详解

用Python实现常规的静态网页抓取时,往往是用urllib2来获取整个HTML页面,然后从HTML文件中逐字查找对应的关键字。如下所示: 复制代码 代码如下: import urlli...

Python爬取商家联系电话以及各种数据的方法

Python爬取商家联系电话以及各种数据的方法

上次学会了爬取图片,这次就想着试试爬取商家的联系电话,当然,这里纯属个人技术学习,爬取过后及时删除,不得用于其它违法用途,一切后果自负。 首先我学习时用的是114黄页数据。 下面四个是用...

详解python 爬取12306验证码

详解python 爬取12306验证码

一个简单的验证码爬取程序 本文介绍了在Python2.7环境下爬取网站验证码: 思路就是获取验证码对应的url,然后发起requst请求,读取该URL对应的内容,然后写入到一个本地文件,...

Python爬虫设置代理IP的方法(爬虫技巧)

在学习Python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术,高强度、高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,这里讲...