Selenium 一.简介 selenium是一个用于Web应用自动化程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样 selenium2支持通过驱动真实浏览器(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver) selenium2支持通过驱动无界面浏览器(HtmlUnit,PhantomJs) 二.安装 Windows 第一种方法是:下载源码安装,下载地址(https://pypi.python.org/py…
今天selenium PhantomJS python用了下,发现报错,提示我:'phantomjs.exe' executable needs to be in PATH. from selenium import webdriver# Open PhantomJS driver = webdriver.PhantomJS(executable_path='C:\phantomjs-2.1.1-windows\bin\phantomjs.exe') 这样运行报错,我百度了下,发现解决方式,在完…
在Python简单网络爬虫实战—下载论文名称,作者信息(上)中,学会了get到网页内容以及在谷歌浏览器找到了需要提取的内容的数据结构,接下来记录我是如何找到所有author和title的 1.从soup中get到data类 soup中提供了select方法来筛选所需的类.该方法使用方法如下: articlename = soup.select('title') 该语句即将soup中所有的title元素放到articlename中.select也有其他用法 articlename = soup.s…
本文可快速搭建爬虫环境,并实现简单页面解析 1.安装 python 下载地址:https://www.python.org/downloads/ 选择对应版本,常用版本有2.7.3.4 安装后,将安装目录加入到环境变量path中,可在dos窗口查看版本,以检查是否安装正常 python -V 2.安装 pip pip是python包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能 目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具. Python…
前几天基友分享了一个贴吧网页,有很多漂亮的图片,想到前段时间学习的python简单爬虫,刚好可以实践一下. 以下是网上很容易搜到的一种方法: #coding=utf-8 import urllib import re def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre =…
#coding=utf-8 # 参考文章: # 1. python实现简单爬虫功能 # http://www.cnblogs.com/fnng/p/3576154.html # 2. Python 2.7 时间和日期模块常用的例子 # http://www.linuxidc.com/Linux/2015-06/118458.htm # 3. Python open读写文件实现脚本 # http://www.jb51.net/article/15709.htm # 4. python re 模块…
本篇将使用selenium,phantomJS和python制作的一个示例,把某个网页整体保存为一个图片文件. 简单介绍下,selenium是一个开源的用于测试web程序的工具,当然,如果你要执行一些工作量很大的web程序,一定少不了它.支持市面上大部分浏览器. PhantomJS是一个无界面的,可用javascript编程的WebKit浏览器引擎.它原生支持多种web 标准:DOM 操作,CSS选择器,JSON,Canvas 以及SVG,速度很快. 我的环境: win10,python3.5.…
1 #!/usr/bin/python 2 #coding=utf-8 3 import urllib 4 import re 5 6 def gethtml(url): 7 page=urllib.urlopen(url) 8 html=page.read() 9 return html 10 11 def getjpg(html): 12 r=r'<[^>]*src="(http:[^>]+\.jpg)"' 13 pat = re.compile(r) 14 ur…
import urllib.request import re import ssl # 处理https请求 import time import os # 创建目录用 def get_html(url): page = urllib.request.urlopen(url) html = page.read() # 返回的是 <class 'bytes'> 需要转码为字符串类型 html = html.decode('utf-8') # 返回的是 <class 'str'> re…
分布式爬虫采用主从模式.主从模式是指由一台主机作为控制节点,负责管理所有运行网络爬虫的主机(url管理器,数据存储器,控制调度器),爬虫只需要从控制节点哪里接收任务,并把新生成任务提交给控制节点.此次使用三台主机进行分布式爬取,一台主机作为控制节点,另外两台主机作为爬虫节点. 控制节点主要分为url管理器.数据存储器和控制调度器.控制调度器通过三个进程来协调URL管理器和数据存储器的工作:一个是URL管理进程,负责URL的管理和将URL传递给爬虫节点,一个是数据提取进程,负责读取爬虫节点返回的数…
上代码: import requests,urllib.request from bs4 import BeautifulSoup url = 'http://photo.bitauto.com/' header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/5.7.16173.12 Safari/5…
http://blog.csdn.net/supercooly/article/details/51003921…
def baidu_tieba(url,begin_page,end_page): for i in range(begin_page, end_page+1): sName = string.zfill(i,5) + '.html' print ('ing %d') %i f = open(sName,'w+') m = urllib2.urlopen(url + str(i)).read() #接受反馈信息 并且读取反馈内容 f.write(m) f.close() baidu_tieba(…
1.基于window环境,使用的工具是 Anaconda 下载地址 https://www.anaconda.com/download/ 2.所使用的包 BeautifulSoup,用来解析html代码 3.编译成exe程序,需要包 PyInstaller 下载地址:http://www.pyinstaller.org/downloads.html 4.安装PyInstaller 5.生成exe文件 在anaconda prompt 中运行  pyinstaller -F runData.py…
一般我们使用python的第三方库requests及框架scrapy来爬取网上的资源,但是设计javascript渲染的页面却不能抓取,此时,我们使用web自动化测试化工具Selenium+无界面浏览器PhantomJS来抓取javascript渲染的页面,下面实现一个简单的爬取 环境搭建 准备工具:python3.5,selenium,phantomjs 我的电脑里面已经装好了python3.5 安装Selenium pip3 install selenium 安装Phantomjs 按照系统…
python强大之处在于各种功能完善的模块.合理的运用可以省略很多细节的纠缠,提高开发效率. 用python实现一个功能较为完整的爬虫,不过区区几十行代码,但想想如果用底层C实现该是何等的复杂,光一个网页数据的获得就需要字节用原始套接字构建数据包,然后解析数据包获得,关于网页数据的解析,更是得喝一壶. 下面具体分析分析用python如何构建一个爬虫. 0X01  简单的爬虫主要功能模块 URL管理器:管理待抓取URL集合和已抓取URL集合,防止重复抓取.防止循环抓取.主要需要实现:添加新URL到…
我们都知道Selenium是一个Web的自动化测试工具,可以在多平台下操作多种浏览器进行各种动作,比如运行浏览器,访问页面,点击按钮,提交表单,浏览器窗口调整,鼠标右键和拖放动作,下拉框和对话框处理等,我们抓取时选用它,主要是Selenium可以渲染页面,运行页面中的JS,以及其点击按钮,提交表单等操作. from selenium import webdriver driver = webdriver.PhantomJS() driver.get("http://www.xxxxxx.com&…
Selenium模块是一套完整的Web应用程序测试系统,它包含了测试的录制(SeleniumIDE).编写及运行(Selenium Remote Control)和测试的并行处理(Selenimu Grid); 那么我们在编写网络爬虫时主要用来了Selenium 的Webdriver 模块 : 在以上的列表中android 和blackberry 是移动端的浏览器,可以先去掉,common support 也可以先去掉,剩下的除去Phantomjs 则都是常见的浏览器,PhantomJS 是一个…
一.最近在学习网络爬虫的东西,说实话,没有怎么写过爬虫,Java里面使用的爬虫也没有怎么用过.这里主要是学习Python的时候,了解到Python爬虫的强大,和代码的简介,这里会简单的从入门看是说起,主要是了解基本的开发思路,后续会讲到scrapy框架的使用,这里主要是讲Python的爬虫入门. 二.urllib.urllib2,这两个模块都是用来处理url请求的,这里的开始就是使用urllib和urllib2的库进行相关操作,来看一个例子: #!/usr/bin/env python # -*…
本人刚才开始学习爬虫,从网上查询资料,写了一个利用Selenium+Phantomjs动态获取网站数据信息的例子,当然首先要安装Selenium+Phantomjs,具体的看 http://www.cnblogs.com/shaosks/p/6526817.html  Selenium下载: https://pypi.python.org/pypi/selenium/ phantomjs使用参考:http://javascript.ruanyifeng.com/tool/phantomjs.ht…
借助搜索微信搜索引擎进行抓取 抓取过程 1.首先在搜狗的微信搜索页面测试一下,这样能够让我们的思路更加清晰 在搜索引擎上使用微信公众号英文名进行“搜公众号”操作(因为公众号英文名是公众号唯一的,而中文名可能会有重复,同时公众号名字一定要完全正确,不然可能搜到很多东西,这样我们可以减少数据的筛选工作, 只要找到这个唯一英文名对应的那条数据即可),即发送请求到'http://weixin.sogou.com/weixin?type=1&query=%s&ie=utf8&_sug_=n&…
一.介绍 本例子用Selenium +phantomjs爬取央视栏目(http://search.cctv.com/search.php?qtext=消费主张&type=video)的信息(标题,时间) 二.网站信息 python 代码 # coding=utf-8 import os import re from selenium import webdriver from datetime import datetime,timedelta import time from pyquery…
思路是这样的,给一系列关键字:互联网电视:智能电视:数字:影音:家庭娱乐:节目:视听:版权:数据等.在活动行网站搜索页(http://www.huodongxing.com/search?city=%E5%85%A8%E5%9B%BD&pi=1)的文本输入框中分别输入每个关键字,在搜索结果中抓取需要的数据. 首先通过Selenium+IE驱动得到每个关键字搜索结果的url(首页,因为以后各个页的url就是索引不一样)和总页数,保存的列表里面.然后再循环列表,用Selenium +phantomj…
但有时候 我们不想要让它打开浏览器去执行 能不能直接在代码里面运行呢 也就是说 有没有一个无形的浏览器呢 恩 phantomJS 就是 它是一个基于 WebKit 的浏览器引擎 可以做到无声无息的操作各种动态网站 比如 js,css选择器,dom操作的 所以对于市面上大多通过 js 渲染的动态网站 难以解析的网站 想要爬取的话 就会使用到 selenium + phantomjs 那么怎么玩呢 在这个页面可以看到 我们需要的数据有 名称 视频地址 描述 观看次数 弹幕数量 发布时间 待会我们就把…
一.介绍 本例子用Selenium +phantomjs爬取栏目(http://tv.cctv.com/lm/)的信息 二.网站信息 三.数据抓取 首先抓取所有要抓取网页链接,共39页,保存到数据库里面 def getUrls(self): urls = [] urls.append('http://tv.cctv.com/lm/') for index in range(2,40): urls.append("javascript:window.scroll(0,145);DataIntera…
一.介绍 本例子用Selenium +phantomjs爬取节目(http://tv.cctv.com/epg/index.shtml?date=2018-03-25)的信息 二.网站信息 三.数据抓取 针对上面的网站信息,来进行抓取 1.首先抓取信息列表 抓取代码:Elements = doc('div[class="epglist"]').find('ul') 2.节目名称,链接,时间 title = subEle('div[class="innerbox"]'…
一.介绍 本例子用Selenium +phantomjs爬取中文网站总排名(http://top.chinaz.com/all/index.html,http://top.chinaz.com/hangye/index.html)的信息 二.网站信息 三.数据抓取 针对上面的网站信息,来进行抓取 1.首先抓取信息列表 抓取代码:Elements = doc('li[class^="clearfix"]')  类似信息 2.网站名称,域名,网址 netElement = element.…
一.介绍 本例子用Selenium +phantomjs爬取活动行(http://www.huodongxing.com/search?qs=数字&city=全国&pi=1)的资讯信息,输入给定关键字抓取资讯信息. 给定关键字:数字:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4.资讯来源 二.网站信息 三.数据抓取 针对上面的网站信息,来进行抓取 1.首先抓取信息列表 抓取代码:Elements = doc('ul[class="event-hori…
一.介绍 本例子用Selenium +phantomjs爬取活动树(http://www.huodongshu.com/html/find_search.html?search_keyword=数字)的资讯信息,输入给定关键字抓取资讯信息. 给定关键字:数字:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4.资讯来源 二.网站信息 三.数据抓取 针对上面的网站信息,来进行抓取 1.首先抓取信息列表 抓取代码:Elements = doc('div[id="eventLi…
一.介绍 本例子用Selenium +phantomjs爬取梅花网(http://www.meihua.info/a/list/today)的资讯信息,输入给定关键字抓取资讯信息. 给定关键字:数字:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4.资讯来源 二.网站信息 三.数据抓取 针对上面的网站信息,来进行抓取 1.首先抓取信息列表 抓取代码:Elements = doc('li[class="item"]') 2.抓取标题 抓取代码:title = e…