前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BeautifulSoup解析库select方法实例——获取企业信息

BeautifulSoup解析库select方法实例——获取企业信息

作者头像
Python小屋屋主
发布2018-04-16 16:06:06
8390
发布2018-04-16 16:06:06
举报
文章被收录于专栏:Python小屋Python小屋

本文内容由浙江浦江中学方春林老师提供。

Requests 是用Python语言编写,基于urllib,采用Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以PEP 20的习语为中心开发的,所以它比urllib更加Pythonic。更重要的一点是它支持 Python3 哦!

1、requests简单用法

2、解析HTML库——BeautifulSoup简介

使用requests获取的是HTML页面,在HTML中除了html标记如<title>,<p>外,还有很多 CSS代码。可以使用BeautifulSoup库解析HTML,利用BeautifulSoup对象的select方法可以筛选出css标记的内容。有如下几种方法获取内容: ①通过标签名查找 ②通过类名查找 ③通过id名查找 ④组合查找。组合查找即和写 class 文件时,标签名与类名、id名进行的组合原理是一样的,例如查找p标签中,id等于link1的内容,二者不要用空格分开。 ⑤属性查找。查找时还可以加入属性元素,属性需要用中括号括起来,注意属性和标签属于同一节点,所以中间不能加空格,否则会无法匹配到。不在同一节点的使用空格隔开,同一节点的不加空格。

以下面的HTML代码为例:

分析代码如下:

输出结果如下:

3、实例:爬取https://m.tianyancha.com/search/oc35-s2/p1中企业信息。

有了以上知识后,我们可以利用上述知识获取企业信息,在天眼查网站里有各类企业信息,打开https://m.tianyancha.com/search/oc35-s2,如下图是页面信息

我们的任务是获取企业信息,具体步骤如下:

1)获取页面信息,用google浏览器打开的页面中右键打开检查,依次点开 network--doc--headers中的Request URL,这个地址是我们要爬取页面的地址。

用res=requests.get(‘https://m.tianyancha.com/search/oc35-s2/’) 返回requests对象得到该页面所有内容。

2)分析内容,获取内容 查看源码后发现我们要找企业信息在一个“<div class="search_result_container">”容器中,可以用select方法获取所有内容;

公司名称在“<div class="col-xs-10 search_name pl0 pr0"><a href="/company/3565313" style="word-break:break-all;" class="query_name in-block" onclick="common.stopPropagation(event)"><span style="color:#2e2e2e;">杭叉集团股份有限公司</span></a></div>”中,而其他信息都在<div class=”title”> 中,如下图

参考代码:

代码运行结果:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档