本文内容由浙江浦江中学方春林老师提供。
Requests是用Python语言编写,基于urllib,采用Apache2 Licensed开源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。Requests的哲学是以PEP 20的习语为中心开发的,所以它比urllib更加Pythonic。更重要的一点是它支持Python3哦!
1、requests简单用法
2、解析HTML库——BeautifulSoup简介
使用requests获取的是HTML页面,在HTML中除了html标记如,
外,还有很多 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)分析内容,获取内容 查看源码后发现我们要找企业信息在一个“
”容器中,可以用select方法获取所有内容;
公司名称在“杭叉集团股份有限公司
”中,而其他信息都在
中,如下图
参考代码:
代码运行结果:
领取专属 10元无门槛券
私享最新 技术干货