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爬动态网页的更多相关文章

  1. Python爬虫 使用selenium处理动态网页

    对于静态网页,使用requests等库可以很方便的得到它的网页源码,然后提取出想要的信息.但是对于动态网页,情况就要复杂很多,这种页面的源码往往只有一个框架,其内容都是由JavaScript渲染出来的 ...

  2. 在python使用selenium获取动态网页信息并用BeautifulSoup进行解析--动态网页爬虫

    爬虫抓取数据时有些数据是动态数据,例如是用js动态加载的,使用普通的urllib2 抓取数据是找不到相关数据的,这是爬虫初学者在使用的过程中,最容易发生的情况,明明在浏览器里有相应的信息,但是在pyt ...

  3. selenium获取动态网页信息(某东)-具体配置信息

    需要安装的包: selenium 关于软件的驱动:selenium之 驱动环境配置chrome.firefox.IE 1 # encoding:utf-8 2 # Author:"richi ...

  4. selenium+chromdriver 动态网页的爬虫

    # 获取加载更多的数据有 2 种方法# 第一种就是直接找数据接口, 点击'加载更多' 在Network看下, 直接找到数据接口 # 第二种方法就是使用selenium+chromdriver # se ...

  5. C# HtmlAgilityPack+Selenium爬取需要拉动滚动条的页面内容

    现在大多数网站都是随着滚动条的滑动加载页面内容的,因此单纯获得静态页面的Html是无法获得全部的页面内容的.使用Selenium就可以模拟浏览器拉动滑动条来加载所有页面内容. 前情提要 C#HtmlA ...

  6. 动态网页爬取例子(WebCollector+selenium+phantomjs)

    目标:动态网页爬取 说明:这里的动态网页指几种可能:1)需要用户交互,如常见的登录操作:2)网页通过JS / AJAX动态生成,如一个html里有<div id="test" ...

  7. Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过Selenium模拟浏览器抓取

    区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器 ...

  8. 动态网页爬取样例(WebCollector+selenium+phantomjs)

    目标:动态网页爬取 说明:这里的动态网页指几种可能:1)须要用户交互,如常见的登录操作:2)网页通过JS / AJAX动态生成.如一个html里有<div id="test" ...

  9. 爬虫(三)通过Selenium + Headless Chrome爬取动态网页

    一.Selenium Selenium是一个用于Web应用程序测试的工具,它可以在各种浏览器中运行,包括Chrome,Safari,Firefox 等主流界面式浏览器. 我们可以直接用pip inst ...

随机推荐

  1. GreenPlum 大数据平台--web监控

    一,安装web监控界面 01,准备 下载greenplum cc包,>> 解压缩 02,安装前配置 vim /greenplum/data/master/gpseg-/pg_hba.con ...

  2. Android中改变Activity的不同icon:activity-alias

    Android设置title中的Icon有几种方法,介绍如下: 一种是直接在AndroidManifest.xml文件中设置android:icon属性,这种方法简单有效,应该算是我们最常用的设置Ic ...

  3. Unity中Shader和AssetBundle结合使用的注意事项

    之前遇到了一件事情就是打包安卓的ab后,unity在editor启动下,加载出来的abshader丢失,其实发布安卓后运行是正常的,当时还纠结了半天,还写了个重新赋值的脚本 下面是unity开发的一些 ...

  4. SpringBoot 之 打war包

    1.修改打包方式为 war <packaging>war</packaging> 2. 修改tomcat 依赖 <dependency> <groupId&g ...

  5. 虚拟机vmware 上不去 连不上网问题解决

    开始---设置--控制面板---管理工具---服务 确保 VMware DHCP Service 和VMware NAT Service 服务已经启动

  6. HDU 5289——Assignment——————【RMQ+优化求解】

    Assignment Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  7. Java学习第二十五天

    1:如何让Netbeans的东西Eclipse能访问. 在Eclipse中创建项目,把Netbeans项目的src下的东西给拿过来即可. 注意:修改项目编码为UTF-8 2:GUI(了解) (1)用户 ...

  8. select(有局限性),jq循环添加select的值

    加载的时候改变select的默认值,只需改变select的value值 $("#one").val(@ViewBag.val);//@ViewBag.val是要默认选中的值的val ...

  9. typeScript入门(一)构建环境和数据类型

    最近入坑v-cli 3.0,发现ts越来越常用了,于是开始入坑学习. 1.构建ts环境 npm install -g typescript Mac和vscode用户可以用以下方式构建tsdemo项目 ...

  10. drupal 基础理论

    第3章 Drupal 的基本概念 添加新评论 浏览 6795 次 Drupal的基本概念主要包括节点.内容类型.模块.主题和分类等.只有对这些概念有了足够的了解,方能灵活的构建网站.本章将对这些基本概 ...