【xpath使用详解】

http://www.cnblogs.com/VseYoung/p/8686383.html

通过xpath 父子节点、兄弟节点反查目标节点的方式来定位标签,使得python代码可读性和可维护性,大大增强。

【分析过程】

待补充

【实验结果】

【代码如下】

#!/usr/bin/python3
# -*- coding: utf-8 -*-import os
import time
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait###登录天眼查###
def loginTYC():driver = webdriver.Firefox()driver.get("https://www.tianyancha.com/")driver.maximize_window()loginLink = WebDriverWait(driver, 30).until(lambda x:x.find_element_by_xpath('//a[text()="登录/注册"]'))loginLink.click()login_by_pwd = WebDriverWait(driver, 30).until(lambda x:x.find_element_by_xpath('//div[text()="密码登录"]'))login_by_pwd.click()#输入手机号xpathString = '//div[contains(@class, "mobile_box")]/div[contains(@class, "position-rel")]/input'username = WebDriverWait(driver, 30).until(lambda x:x.find_elements_by_xpath(xpathString)[0])username.send_keys('这里更换成你的手机号')#输入密码xpathString = '//div[contains(@class, "mobile_box")]/div[contains(@class, "input-warp -block")]/input'password = WebDriverWait(driver, 30).until(lambda x:x.find_elements_by_xpath(xpathString)[0])password.send_keys('这里更换成你的密码')login_button = WebDriverWait(driver, 30).until(lambda x:x.find_element_by_xpath('//div[text()="登录"]'))driver.execute_script("arguments[0].click();", login_button)time.sleep(3)return driver#end of loginTYC()######从天眼查获取数据###
def getCompanyInfo(driver, chinaCompany):companyInfo = {'company':chinaCompany,'legal_person':'暂无','domain':'暂无','address':'暂无','email':'暂无','phone':'暂无','registered_capital':'暂无'}company = chinaCompany.encode('utf-8','ignore')firstUrl="https://www.tianyancha.com/search?key=" + chinaCompanydriver.get(firstUrl)#搜索结果的第一个是目标公司,可以获取到法人名字、注册资本、电话号码、邮箱#获取法人名字tag = WebDriverWait(driver, 30).until(lambda x: x.find_elements_by_xpath('//div[text()="法定代表人:"]/a')[0])companyInfo['legal_person'] = tag.textprint(companyInfo['legal_person'])#获取注册资本#tag = WebDriverWait(driver, 30).until(lambda x:x.find_elements_by_xpath('//span[contains(@title, "人民币")]')[0])tag = WebDriverWait(driver, 30).until(lambda x:x.find_elements_by_xpath('//div[text()="注册资本:"]/span')[0])companyInfo['registered_capital'] = tag.textprint(tag.text)#获取联系电话tag = WebDriverWait(driver, 30).until(lambda x:x.find_elements_by_xpath('//span[text()="联系电话:"]/../span[2]')[0])companyInfo['phone'] = tag.textprint(tag.text)#获取邮箱地址tag = WebDriverWait(driver, 30).until(lambda x:x.find_elements_by_xpath('//span[text()="邮箱:"]/../span[2]')[0])companyInfo['email'] = tag.textprint(tag.text)#跳转到公司详细信息的页面xpathString = '//a[contains(@tyc-event-ch,"CompanySearch.Company")]'tag = WebDriverWait(driver, 30).until(lambda x:x.find_elements_by_xpath(xpathString)[0])nextURL = tag.get_attribute('href')print(nextURL)driver.get(nextURL)#获取公司主页的网址(域名)tag = WebDriverWait(driver, 30).until(lambda x: x.find_elements_by_xpath('//span[text()="网址:"]/../a')[0])companyInfo['domain'] = tag.textprint(tag.text)#获取公司地址tag = WebDriverWait(driver, 30).until(lambda x: x.find_elements_by_xpath('//span[text()="地址:"]/../span[2]')[0])address = tag.get_attribute('title')companyInfo['address'] = addressprint(address)###end of getCompanyInfo()###if __name__ == "__main__":driver = loginTYC()getCompanyInfo(driver,'重庆萤火虫科技股份有限公司')print("end")

【python爬虫实战】python3.7+selenium3.7 登录天眼查网站查询企业的公开信息相关推荐

  1. Python爬虫实战之二 - 基于Scrapy框架抓取Boss直聘的招聘信息

    Python爬虫实战之三 - 基于Scrapy框架抓取Boss直聘的招聘信息 ---------------readme--------------- 简介:本人产品汪一枚,Python自学数月,对于 ...

  2. Python爬虫实战 | (16) 破解简书登录点触验证码

    在本篇博客中,我们将使用selenium模拟登录简书网站,破解其登陆时的滑动验证码. 我们需要使用验证码识别服务平台.超级鹰,来帮助我们破解点触验证码.下面的chaojiying.py文件用于调用超级 ...

  3. 【Python爬虫实战】获取2018年重庆智博会参会企业名单,用于市场洞察

    [背景] 做市场洞察,经常需要分析某个行业的Top客户,通常会通过某种活动或某种机构获取名单.网站上也能收集到,但是手工收集比较麻烦. 下面通过Python网络爬虫 获取2018年重庆智博会参会企业的 ...

  4. python爬虫实战笔记---以轮子哥为起点Scrapy爬取知乎用户信息

    开发环境:python3.5+Scrapy+pycharm+mongodb 思路: 1.选定起始人:选定一个关注数量或粉丝数量多的大佬 2.获取粉丝和关注列表 3.获取列表用户信息 4.获取每位用户粉 ...

  5. python爬虫实战:爬取http://cffex.com.cn/网站的期货持仓信息,存入mysql库中

    需要爬取http://cffex.com.cn/ccpm/?productid=IF页面上的IF.IC.IH.TS.TF.T的持仓信息,时间为[2016.1.1到2020.1.1). 首先查看robo ...

  6. python分支机构_基于Python爬取天眼查网站的企业信息!Python无所不能!

    注:这是一个在未登录的情况下,根据企业名称搜索,爬取企业页面数据的采集程序,是一个比较简单的爬虫,基本上只用到了代理,没有用到其他的反反爬技术,不过由于爬取的数据比较多, 适合刷解析技能的熟练度 . ...

  7. Python爬虫实战(5):模拟登录淘宝并获取所有订单

    Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫 ...

  8. Python爬虫实战之(五)| 模拟登录wechat

    作者:xiaoyu 微信公众号:Python数据科学 知乎:Python数据分析师 不知何时,微信已经成为我们不可缺少的一部分了,我们的社交圈.关注的新闻或是公众号.还有个人信息或是隐私都被绑定在了一 ...

  9. Python爬虫实战之(五)| 模拟登录wechat 1

    作者:xiaoyu 微信公众号:Python数据科学 知乎:Python数据分析师 不知何时,微信已经成为我们不可缺少的一部分了,我们的社交圈.关注的新闻或是公众号.还有个人信息或是隐私都被绑定在了一 ...

最新文章

  1. 不使用powerdesigner手工绘制用例图例题详解
  2. 硅谷来信 | 投资人张璐:AI正在造就超级人类,医疗应用潜力无穷
  3. Select、Poll、Epoll IO复用技术
  4. 【Spark-core学习之九】 Spark案例
  5. 生活娱乐 在上海怎么租房
  6. java 连接sqlitle_ASP连接SQL2005数据库连接代码
  7. Java黑皮书课后题第2章:2.15(几何:两点间距离)编写程序,提示用户输入两个点(x1,y1)和(x2,y2),显示两点距离
  8. Spring Bean Scope 有状态的Bean 无状态的Bean
  9. Flsak爱家租房--订单(获取用户订单、用户评论)
  10. 的基本操作_Linux 基本操作命令总结
  11. ga设置迭代次数_种群进化+邻域搜索的混合算法(GA+TS)求解柔性作业车间调度问题(FJSP)算法介绍...
  12. 使用Zabbix Agent 2监控MongoDB
  13. 理解numpy dot函数
  14. 【软件操作】WinRAR 实现安装更新 操作
  15. python读matlab.fig_从fig文件中读取数据
  16. html格式显示图标异常,HTM或HTML图标变成无法显示和识别的解决方法大全
  17. LANDESK8.8版本操作说明书
  18. 闻酥园与宫廷糕点的桃酥对比
  19. 在做电商网站之前先理清自己建站目的是什么
  20. PYGAME - Event 事件

热门文章

  1. raw/rgb/yuv/nv21图像格式总结
  2. Arduino+sim900发送短信例程代码
  3. Android pdf填充表单,预览,图片填充,水印添加
  4. NX二次开发-UFUN创建工程图注释UF_DRF_create_note
  5. B - ZJM要抵御宇宙射线
  6. 推荐一个开源库(Calligraphy)将ttf字体库加入到项目中,轻松实现各种字体
  7. 天嵌E9开发板tftp烧录eMMC教程(Android)
  8. git-cz 一款git commit 统一规范的工具
  9. 【资源分享】Undertale(传说之下)简体中文精品整合包
  10. 科技交流英语(2022秋)Unit 5 test