最近想看看绿色金融方面的内容,也不知道搞啥,先在网上找找信息,于是把目标瞄上了新华财经——中国金融信息网。找到了其中的绿色金融的版块。发现上面的文章都是静态页面构成的,可以先把所有的页面信息爬取下来,然后再慢慢看。
由于学得不是很扎实,就用最初级的方式,一步一步操作,以求小白们也能看懂。
请求网页的方式主要是两种,一种是get方式,一种是post方式。post方式通常需要填写表单,用户需要填入相关信息提交后才能返回响应页面;而get方式不需要填写信息,可以直接获得对应页面。本文就从get方式说起。
不论哪种方式,都需要引入requests包,如果没有,请自行安装,通常使用Anaconda平台会自动装配好大多数我们所需要的包,所以小白可以直接安装这个平台。后面的页面爬取过程,我全部是在notebook中操作完成的。
#引入requests包
import requests
#设定我们要爬取的内容,全部是企业环境信息披露下的文章,先找到其中第一篇文章
url='http://greenfinance.xinhua08.com/qyhjxxpl/'
#发出请求并获取响应
req=requests.get(url)
#查看一下返回的文本
req.text
是不是已经看到了我们想要的页面的内容?好像搞定了,等等,里面怎么这么多乱码,这是因为编码解码的问题。好吧,为了避开这个问题,我们再加上一句:
#引入requests包
import requests
#设定我们要爬取的内容,全部是企业环境信息披露下的文章,先找到其中第一篇文章
url='http://greenfinance.xinhua08.com/qyhjxxpl/'
#发出请求
req=requests.get(url)
#解决编码问题,注意get_encodings_from_content的参数是字符串,所以要用req.text而不是req.content
req.encoding=requests.utils.get_encodings_from_content(req.text)
#查看一下返回的文本
req.text
这回效果是不是好很多?都是中文和标签了,事就好办了。接下来,我将准备做的是提取这个页面中的标题和超链接,请看第(2)篇。