Pandas在配合做网络数据采集爬虫时,也能发挥其优势,可承担数据调用、数据存储的工作。将数据存入DateFrame后,可直接进入下一步分析。
本例以获取某房产网站中房价为目标,来体验一下Pandas的便捷之处。
首先利用requests(需要安装)库获取单个小区的平均价格:
import pandas as pd
import requests #安装:pip install requests
s=requests.Session() #创建一个Session
xq=s.get('https://bj.lianjia.com/xiaoqu/1111027382589/') #访问小区页面
xq.text #查看页面源码
#找到价格位置附近的源码为:
#<span class="xiaoquUnitPrice">111651</span>
#切片与解析
xq.text.split('xiaoquUnitPrice">')[1].split('</span>')[0]
'''
111651
'''
最终得到这个小区的平均房价。这里使用了将目标信息两边的信息进行切片、形成列表再读取的方法。也可以用第三方库Beautiful Soup 4来解析。Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库,它能够通过解析源码来方便地获取指定信息。
我们构建获取小区名称和平均房价的函数:
#获取小区名称的函数
def pa_name(x):
xq=