16、web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

栏目: 编程语言 · 发布时间: 5年前

内容简介:PhantomJS虚拟浏览器phantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,利用这个软件,可以获取到网址js加载的任何信息,也就是可以获取浏览器异步加载的信息下载网址:

百度云搜索,搜各种资料:http://www.bdyss.cn

搜网盘,搜各种资料:http://www.swpan.cn

PhantomJS虚拟浏览器

phantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,利用这个软件,可以获取到网址js加载的任何信息,也就是可以获取浏览器异步加载的信息

下载网址: http://phantomjs.org/download... 下载对应系统版本

16、web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

下载后解压PhantomJS文件,将解压文件夹,剪切到 python 安装文件夹

16、web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

然后将PhantomJS文件夹里的bin文件夹添加系统环境变量

16、web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

cdm 输入命令:PhantomJS  出现以下信息说明安装成功

16、web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

selenium模块是一个python操作PhantomJS软件的一个模块

selenium模块PhantomJS软件

webdriver.PhantomJS()实例化PhantomJS浏览器对象

get('url')访问网站

find_element_by_xpath('xpath表达式')通过xpath表达式找对应元素

clear()清空输入框里的内容

send_keys('内容')将内容写入输入框

click()点击事件

get_screenshot_as_file('截图保存路径名称')将网页截图,保存到此目录

page_source获取网页htnl源码

quit()关闭PhantomJS浏览器

#!/usr/bin/env python
# -*- coding:utf8 -*-
from selenium import webdriver  #导入selenium模块来操作PhantomJS
import os
import time
import re

llqdx = webdriver.PhantomJS()  #实例化PhantomJS浏览器对象
llqdx.get("https://www.baidu.com/") #访问网址

# time.sleep(3)   #等待3秒
# llqdx.get_screenshot_as_file('H:/py/17/img/123.jpg')  #将网页截图保存到此目录

#模拟用户操作
llqdx.find_element_by_xpath('//*[@id="kw"]').clear()                    #通过xpath表达式找到输入框,clear()清空输入框里的内容
llqdx.find_element_by_xpath('//*[@id="kw"]').send_keys('叫卖录音网')     #通过xpath表达式找到输入框,send_keys()将内容写入输入框
llqdx.find_element_by_xpath('//*[@id="su"]').click()                    #通过xpath表达式找到搜索按钮,click()点击事件

time.sleep(3)   #等待3秒
llqdx.get_screenshot_as_file('H:/py/17/img/123.jpg')  #将网页截图,保存到此目录

neir = llqdx.page_source   #获取网页内容
print(neir)
llqdx.quit()    #关闭浏览器

pat = "<title>(.*?)</title>"
title = re.compile(pat).findall(neir)  #正则匹配网页标题
print(title)

PhantomJS浏览器伪装,和滚动滚动条加载数据

有些网站是动态加载数据的,需要滚动条滚动加载数据

16、web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

实现代码

DesiredCapabilities 伪装浏览器对象

execute_script()执行js代码

current_url获取当前的url

#!/usr/bin/env python
# -*- coding:utf8 -*-
from selenium import webdriver  #导入selenium模块来操作PhantomJS
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities   #导入浏览器伪装模块
import os
import time
import re

dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap['phantomjs.page.settings.userAgent'] = ('Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0')
print(dcap)
llqdx = webdriver.PhantomJS(desired_capabilities=dcap)  #实例化PhantomJS浏览器对象

llqdx.get("https://www.jd.com/") #访问网址

#模拟用户操作
for j in range(20):
    js3 = 'window.scrollTo('+str(j*1280)+','+str((j+1)*1280)+')'
    llqdx.execute_script(js3)  #执行js语言滚动滚动条
    time.sleep(1)

llqdx.get_screenshot_as_file('H:/py/17/img/123.jpg')  #将网页截图,保存到此目录

url = llqdx.current_url
print(url)

neir = llqdx.page_source   #获取网页内容
print(neir)
llqdx.quit()    #关闭浏览器

pat = "<title>(.*?)</title>"
title = re.compile(pat).findall(neir)  #正则匹配网页标题
print(title)

16、web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

【转载自: http://www.lqkweb.com


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法交易与套利交易

算法交易与套利交易

赵胜民 / 厦门大学出版社 / 2010-9 / 35.00元

《算法交易与套利交易》主要介绍算法交易和一些套利交易的策略,以便于读者对相关方面的内容进行阅读和学习。在《算法交易与套利交易》的第一部分,我们回顾了投资学一些相关的基本内容。其中,前两章介绍了证券投资的收益和风险等特征,以及马可维茨的最优资产配置模型。第3章则介绍了股票投资分析当中常用的资本资产定价模型(CAPM)、套利定价模型(APT),以及因素模型。然后,第4、5章分别讲到了金融证券估值模型、......一起来看看 《算法交易与套利交易》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码