用selenium爬动态网页
0-安装
我用python2.7,用pip安装selenium即可,phantomjs到官网下载安装,也不难。
1-主要参考的几篇文章
Python爬虫利器四之PhantomJS的用法
Python爬虫利器五之Selenium的用法
2-代码
from selenium import webdriver
from urllib2 import quote
import os
import time os.getcwd()
os.chdir('/Users/.../python/mywork')
path='/usr/local/phantomjs-2.1.1-macosx 2/bin/phantomjs'
driver = webdriver.PhantomJS(executable_path=path) def get_company_info(nm):
url='http://www.tianyancha.com/search?key='+quote(nm)+'&checkFrom=searchBox'
driver.get(url)
time.sleep(1.0)
try:
url1=driver.find_element_by_css_selector('.query_name').get_attribute('href')
driver.get(url1)
time.sleep(1.0)
text2=driver.find_element_by_css_selector('.company_info_text').text
text3=driver.find_element_by_css_selector('.company-content').text
print text2+text3
except:
print u"无法查到该公司相关信息"
3-查询结果
>>> get_company_info('百度')
北京百度网讯科技有限公司
电话: 010-59928888 邮箱: 暂无
网址: www.baidu.com
地址: 北京市海淀区上地十街10号百度大厦2层法定代表人:
注册资本:
梁志祥
89000 万元
状态:
注册时间:
开业
2001-06-05
行业:电信、广播电视和卫星传输服务
工商注册号:110108002734659
企业类型:有限责任公司(自然人投资或控股)
组织机构代码:802100433
营业期限:2001-06-05至2021-06-04
登记机关:北京市工商行政管理局
核准日期: 2016-05-11
统一信用代码:91110000802100433B
注册地址:北京市海淀区上地十街10号百度大厦2层
经营范围:因特信息服务业务(除出版、教育、医疗保健以外的内容);第一类增值电信业务中的在线数据处理与交易处理业务、国内因特网虚拟专用网业务、因特网数据中心业务;第二类增值电信业务中的因特网接入服务业务、呼叫中心业务、信息服务业务(不含固定网电话信息服务和互联网信息服务);利用互联网经营音乐娱乐产品,游戏产品运营,网络游戏虚拟货币发行,美术品,演出剧(节)目,动漫(画)产品,从事互联网文化产品展览、比赛活动(网络文化经营许可证有效期至2016年11月21日);图书、电子出版物、音像制品批发、零售、网上销售;设计、开发、销售计算机软件;技术服务、技术培训、技术推广;经济信息咨询;利用www.baidu.com、www.hao123.com(www.hao222.net、www.hao222.com)、网站发布广告;设计、制作、代理、发布广告;货物进出口、技术进出口、代理进出口;医疗软件技术开发;委托生产电子产品、玩具、照相器材;销售家用电器、机械设备、五金交电、电子产品、文化用品、照相器材、计算机、软件及辅助设备、化妆品、卫生用品、体育用品、纺织品、服装、鞋帽、日用品、家具、首饰、避孕器具、工艺品、钟表、眼镜、玩具、汽车及摩托车配件、仪器仪表、塑料制品、花、草及观赏植物、建筑材料、通讯设备;预防保健咨询;公园门票、文艺演出、体育赛事、展览会票务代理。(企业依法自主选择经营项目,开展经营活动;增值电信业务以及依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事本市产业政策禁止和限制类项目的经营活动。)
>>> get_company_info('你是鬼你是鬼你是鬼')
无法查到该公司相关信息
4-总结
会写一点python了
用selenium爬动态网页的更多相关文章
- Python爬虫 使用selenium处理动态网页
对于静态网页,使用requests等库可以很方便的得到它的网页源码,然后提取出想要的信息.但是对于动态网页,情况就要复杂很多,这种页面的源码往往只有一个框架,其内容都是由JavaScript渲染出来的 ...
- 在python使用selenium获取动态网页信息并用BeautifulSoup进行解析--动态网页爬虫
爬虫抓取数据时有些数据是动态数据,例如是用js动态加载的,使用普通的urllib2 抓取数据是找不到相关数据的,这是爬虫初学者在使用的过程中,最容易发生的情况,明明在浏览器里有相应的信息,但是在pyt ...
- selenium获取动态网页信息(某东)-具体配置信息
需要安装的包: selenium 关于软件的驱动:selenium之 驱动环境配置chrome.firefox.IE 1 # encoding:utf-8 2 # Author:"richi ...
- selenium+chromdriver 动态网页的爬虫
# 获取加载更多的数据有 2 种方法# 第一种就是直接找数据接口, 点击'加载更多' 在Network看下, 直接找到数据接口 # 第二种方法就是使用selenium+chromdriver # se ...
- C# HtmlAgilityPack+Selenium爬取需要拉动滚动条的页面内容
现在大多数网站都是随着滚动条的滑动加载页面内容的,因此单纯获得静态页面的Html是无法获得全部的页面内容的.使用Selenium就可以模拟浏览器拉动滑动条来加载所有页面内容. 前情提要 C#HtmlA ...
- 动态网页爬取例子(WebCollector+selenium+phantomjs)
目标:动态网页爬取 说明:这里的动态网页指几种可能:1)需要用户交互,如常见的登录操作:2)网页通过JS / AJAX动态生成,如一个html里有<div id="test" ...
- Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过Selenium模拟浏览器抓取
区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器 ...
- 动态网页爬取样例(WebCollector+selenium+phantomjs)
目标:动态网页爬取 说明:这里的动态网页指几种可能:1)须要用户交互,如常见的登录操作:2)网页通过JS / AJAX动态生成.如一个html里有<div id="test" ...
- 爬虫(三)通过Selenium + Headless Chrome爬取动态网页
一.Selenium Selenium是一个用于Web应用程序测试的工具,它可以在各种浏览器中运行,包括Chrome,Safari,Firefox 等主流界面式浏览器. 我们可以直接用pip inst ...
随机推荐
- QT跟VC++结合来进行插件的验证机制
由于最近公司要开发一个以C++插件机制为主的,主要有一个问题就是C++的二进制兼容性的问题.一旦类使用虚函数,只要随便改动下增删查改下头文件的虚函数,就会导致程序在跑的时候进行乱跳,因为这个时候exe ...
- vue生命周期及使用 && 单文件组件下的生命周期
生命周期钩子 这篇文章主要记录与生命周期相关的问题. 之前,我们讲到过生命周期,如下所示: 根据图示我们很容易理解vue的生命周期: js执行到new Vue() 后,即进入vue的beforeCre ...
- 025-quartz之spring部分配置模板
版本一: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://w ...
- PHP一维数组去重方法array_unique()
array_unique() :去除数组中的重复项,只适用于一维数组 它不像 sort()方法, eg: $arraytest = array('tommy','tommy','abcd'); so ...
- python中时间对象生成及时间格式的转换
1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" 将其转换为时间数组 import time timeArray = time.strpt ...
- ArrayList,LinkList,HashMap
ArrayList底层实现数组,这是ArrayList get()方法的源码,底层是数组 根据下标返回在数组中对应的位置 ,查询快,插入慢 // Positional Access Operation ...
- java使用POI进行 Excel文件解析
package com.timevale.esign.vip.util; import java.io.File; import java.io.FileInputStream; import jav ...
- zstu 4212 ——String Game ——————【字符串处理】
4212: String Game Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 337 Solved: 41 Description Alice a ...
- springboot整合rabbitmq,支持消息确认机制
安装 推荐一篇博客https://blog.csdn.net/zhuzhezhuzhe1/article/details/80464291 项目结构 POM.XML <?xml version= ...
- 读《Wireshark网络分析就这么简单》读书笔记
晚上花了两个多小时看完这本书,记录下一些看书过程中的笔记. 一.问题:A和B 是否能正常通信? 两台服务器A和服务器B的网络配置 A ...