# -*- coding: utf-8 -*-
import requests
from lxml import etree
headers={
'user-agent':'Mozilla/5.0 (Windows NT 6.1; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/82.0.4068.4 Safari/537.36'
}
def fang_spider():
url='https://cs.newhouse.fang.com/house/s/';
resp=requests.get(url,headers=headers)
resp_text=resp.content.decode(encoding='gbk')
#print(resp_text)#编码 asc-gbk-utf-8
resp_text_html=etree.HTML(resp_text)#扶桑
resp_list=resp_text_html.xpath('//div[@class="nl_con clearfix"]/ul/li')
names=[]
prices=[]
for i in resp_list:
name=i.xpath('.//div[@class="nlcd_name"]/a/text()')
price=i.xpath('.//div[@class="nhouse_price"]/span/text()')
if name !=[] and price !=[] and price !=['价格待定']:
names.append(name[0].strip())
prices.append(price[0].strip())
#print(names)
#print(prices)
return names,prices
names,prices=fang_spider()
print(names)
print(prices)
#数据可视化
from pyecharts.charts import Bar
import pyecharts.options as opts
bar=Bar()
bar.add_xaxis(names)
bar.add_yaxis('长沙房价图',prices)
bar.set_global_opts(
xaxis_opts=opts.AxisOpts(
axislabel_opts=opts.LabelOpts(rotate=-40)
),#设置x轴标签旋转角度
yaxis_opts=opts.AxisOpts(name='价格(元/平方米)'),
title_opts=opts.TitleOpts(title='柱状图')
)
bar.render('房价图.html')python应用xpath爬房天下生成数据柱状图,多变量传值
阅读:3676 输入:2020-05-06 16:11:30