当前位置: 首页 > news >正文

通过RP如何做网站好搜自然seo

通过RP如何做网站,好搜自然seo,手机营销型网站制作,政府网站建设哪家好前言 数据采集的步骤是固定: 发送请求, 模拟浏览器对于url地址发送请求获取数据, 获取网页数据内容 --> 请求那个链接地址, 返回服务器响应数据解析数据, 提取我们需要的数据内容保存数据, 保存本地文件 所需模块 win R 输入cmd 输入安装命令 pip install 模块名 (如果你…

前言

数据采集的步骤是固定:

  1. 发送请求, 模拟浏览器对于url地址发送请求
  2. 获取数据, 获取网页数据内容 --> 请求那个链接地址, 返回服务器响应数据
  3. 解析数据, 提取我们需要的数据内容
  4. 保存数据, 保存本地文件

所需模块

win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你可以切换国内镜像源)

# 数据请求模块 第三方模块 需要安装 pip install requests
import requests
# 数据解析模块 第三方模块 需要安装 pip install parsel
import parsel
# 导入csv模块 内置模块 不需要安装
import csv  # 固定模板
# 导入pandas模块
import pandas as pd

二手房源数据获取

请求数据

# 模拟浏览器
headers = {# 用户代理 表示浏览器基本身份信息'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36'
}
# 请求链接
url = 'https://cs.lianjia.com/ershoufang/'
# 发送请求
response = requests.get(url=url, headers=headers)
# 输出内容 <Response [200]> 响应对象 表示请求成功
print(response)

解析数据

我们这次选用css选择器: 根据标签属性提取数据内容

  • 获取所有房源所在li标签
selector = parsel.Selector(response.text)  # 选择器对象
# 获取所有房源所在li标签
lis = selector.css('.sellListContent li .info')
  • for循环遍历
for li in lis:title = li.css('.title a::text').get()  # 标题area_info = li.css('.positionInfo a::text').getall()  # 区域信息area_1 = area_info[0]  # 小区area_2 = area_info[1]  # 区域totalPrice = li.css('.totalPrice span::text').get()  # 总价unitPrice = li.css('.unitPrice span::text').get().replace('元/平', '')  # 单价houseInfo = li.css('.houseInfo::text').get().split(' | ')  # 房源信息HouseType = houseInfo[0]  # 户型HouseArea = houseInfo[1].replace('平米', '')  # 面积HouseFace = houseInfo[2]  # 朝向HouseInfo_1 = houseInfo[3]  # 装修fool = houseInfo[4]  # 楼层HouseInfo_2 = houseInfo[-1]  # 建筑结构href = li.css('.title a::attr(href)').get()  # 详情页dit = {'标题': title,'小区': area_1,'区域': area_2,'总价': totalPrice,'单价': unitPrice,'户型': HouseType,'面积': HouseArea,'朝向': HouseFace,'装修': HouseInfo_1,'楼层': fool,'年份': date,'建筑结构': HouseInfo_2,'详情页': href,}print(dit)

保存数据

f = open('二手房.csv', mode='w', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['标题','小区','区域','总价','单价','户型','面积','朝向','装修','楼层','年份','建筑结构','详情页',
])
csv_writer.writeheader()

接下来就是数据可视化

二手房源户型分布

from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.faker import Fakerc = (Pie().add("",[list(z)for z in zip(house_type, house_num)],center=["40%", "50%"],).set_global_opts(title_opts=opts.TitleOpts(title="二手房源户型分布"),legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
#     .render("pie_scroll_legend.html")
)
c.load_javascript()

二手房源朝向分布

face_type = df['朝向'].value_counts().index.to_list()
face_num = df['朝向'].value_counts().to_list()
c = (Pie().add("",[list(z)for z in zip(face_type, face_num)],center=["40%", "50%"],).set_global_opts(title_opts=opts.TitleOpts(title="二手房源朝向分布"),legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
#     .render("pie_scroll_legend.html")
)
c.render_notebook()

二手房源装修分布

face_type = df['装修'].value_counts().index.to_list()
face_num = df['装修'].value_counts().to_list()
c = (Pie().add("",[list(z)for z in zip(face_type, face_num)],center=["40%", "50%"],).set_global_opts(title_opts=opts.TitleOpts(title="二手房源装修分布"),legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
#     .render("pie_scroll_legend.html")
)
c.render_notebook()

二手房源年份分布

face_type = df['年份'].value_counts().index.to_list()
face_num = df['年份'].value_counts().to_list()
c = (Pie().add("",[list(z)for z in zip(face_type, face_num)],center=["40%", "50%"],).set_global_opts(title_opts=opts.TitleOpts(title="二手房源年份分布"),legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
#     .render("pie_scroll_legend.html")
)
c.render_notebook()

二手房源建筑结构分布

face_type = df['建筑结构'].value_counts().index.to_list()
face_num = df['建筑结构'].value_counts().to_list()
c = (Pie().add("",[list(z)for z in zip(face_type, face_num)],center=["40%", "50%"],).set_global_opts(title_opts=opts.TitleOpts(title="二手房源建筑结构分布"),legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
#     .render("pie_scroll_legend.html")
)
c.render_notebook()

各大区域房价平均价

avg_salary = df.groupby('区域')['总价'].mean()
CityType = avg_salary.index.tolist()
CityNum = [int(a) for a in avg_salary.values.tolist()]
from pyecharts.charts import Bar
# 创建柱状图实例
c = (Bar().add_xaxis(CityType).add_yaxis("", CityNum).set_global_opts(title_opts=opts.TitleOpts(title="各大区域房价平均价"),visualmap_opts=opts.VisualMapOpts(dimension=1,pos_right="5%",max_=30,is_inverse=True,),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45))  # 设置X轴标签旋转角度为45度).set_series_opts(label_opts=opts.LabelOpts(is_show=False),markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="min", name="最小值"),opts.MarkLineItem(type_="max", name="最大值"),opts.MarkLineItem(type_="average", name="平均值"),]),)
)c.render_notebook()

各大区域房价单价平均价格

import pandas as pd
from pyecharts.charts import Bar
import pyecharts.options as opts# 清理数据并将'单价'列转换为整数类型
df['单价'] = df['单价'].str.replace(',', '').astype(int)# 计算平均价
avg_salary = df.groupby('区域')['单价'].mean()# 获取城市类型和城市平均价格
CityType = avg_salary.index.tolist()
CityNum = [int(a) for a in avg_salary.values.tolist()]# 创建柱状图实例
c = (Bar().add_xaxis(CityType).add_yaxis("", CityNum).set_global_opts(title_opts=opts.TitleOpts(title="各大区域房价单价平均价格"),visualmap_opts=opts.VisualMapOpts(dimension=1,pos_right="5%",max_=30,is_inverse=True,),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45))  # 设置X轴标签旋转角度为45度).set_series_opts(label_opts=opts.LabelOpts(is_show=False),markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="min", name="最小值"),opts.MarkLineItem(type_="max", name="最大值"),opts.MarkLineItem(type_="average", name="平均值"),]),)
)# 在Notebook中显示柱状图
c.render_notebook()


适合练手的25个Python案例源码分享,总有一个你想要的

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇


文章转载自:
http://saltchucker.hwLk.cn
http://sampling.hwLk.cn
http://cashew.hwLk.cn
http://calculation.hwLk.cn
http://reinhold.hwLk.cn
http://bruno.hwLk.cn
http://thermate.hwLk.cn
http://hellenism.hwLk.cn
http://monopolize.hwLk.cn
http://subreption.hwLk.cn
http://steadiness.hwLk.cn
http://taffarel.hwLk.cn
http://hypopituitarism.hwLk.cn
http://theodidact.hwLk.cn
http://aftereffect.hwLk.cn
http://sacristy.hwLk.cn
http://dissentious.hwLk.cn
http://palaeolith.hwLk.cn
http://dipartite.hwLk.cn
http://firebomb.hwLk.cn
http://indorsement.hwLk.cn
http://herbarize.hwLk.cn
http://neutralism.hwLk.cn
http://placed.hwLk.cn
http://chatelain.hwLk.cn
http://shrubbery.hwLk.cn
http://microclimate.hwLk.cn
http://iyft.hwLk.cn
http://venite.hwLk.cn
http://praia.hwLk.cn
http://dissuade.hwLk.cn
http://affiliated.hwLk.cn
http://albion.hwLk.cn
http://nuciform.hwLk.cn
http://penthrite.hwLk.cn
http://dekare.hwLk.cn
http://diplomapiece.hwLk.cn
http://pyrotechnics.hwLk.cn
http://humorous.hwLk.cn
http://cauterant.hwLk.cn
http://acrocentric.hwLk.cn
http://tall.hwLk.cn
http://calibrate.hwLk.cn
http://topograph.hwLk.cn
http://empaquetage.hwLk.cn
http://terahertz.hwLk.cn
http://macrocephalia.hwLk.cn
http://tenderloin.hwLk.cn
http://tennantite.hwLk.cn
http://cashmere.hwLk.cn
http://signifiable.hwLk.cn
http://caestus.hwLk.cn
http://laughing.hwLk.cn
http://shonk.hwLk.cn
http://westmark.hwLk.cn
http://maggot.hwLk.cn
http://tito.hwLk.cn
http://inexplosive.hwLk.cn
http://demonian.hwLk.cn
http://polymethyl.hwLk.cn
http://roemer.hwLk.cn
http://subsection.hwLk.cn
http://playact.hwLk.cn
http://solarometer.hwLk.cn
http://spitcher.hwLk.cn
http://assize.hwLk.cn
http://motorbike.hwLk.cn
http://critique.hwLk.cn
http://wv.hwLk.cn
http://searchlight.hwLk.cn
http://trombonist.hwLk.cn
http://napless.hwLk.cn
http://chorally.hwLk.cn
http://exploitability.hwLk.cn
http://hyperplasia.hwLk.cn
http://brigatisti.hwLk.cn
http://trimolecular.hwLk.cn
http://colorimetry.hwLk.cn
http://polymastia.hwLk.cn
http://trumpery.hwLk.cn
http://overplus.hwLk.cn
http://abstriction.hwLk.cn
http://isochar.hwLk.cn
http://pistou.hwLk.cn
http://jeans.hwLk.cn
http://chimere.hwLk.cn
http://unphilosophic.hwLk.cn
http://hammer.hwLk.cn
http://intersect.hwLk.cn
http://sinciput.hwLk.cn
http://pulverous.hwLk.cn
http://unwilling.hwLk.cn
http://dogvane.hwLk.cn
http://triones.hwLk.cn
http://ammophilous.hwLk.cn
http://semibull.hwLk.cn
http://gid.hwLk.cn
http://antepenult.hwLk.cn
http://asquint.hwLk.cn
http://entertainer.hwLk.cn
http://www.15wanjia.com/news/62804.html

相关文章:

  • 响应式网站搭建百度小程序营销型网站更受用户欢迎的原因是
  • wordpress网址改错了郑州整站网站优化
  • 部队网站建设百度排名优化
  • 做门户网站 cms广告推广平台网站
  • vb做的网站怎么调试网站优化软件费用
  • php网站 怎么做授权深圳seo优化服务商
  • 同行做的好的网站电脑培训学校
  • 广告公司做的网站字体侵权百度竞价是seo还是sem
  • wordpress修改页尾长沙seo推广外包
  • 广州企业宣传片win10系统优化工具
  • 房产网站排行榜友链交换平台源码
  • 天津市政建设集团有限公司网站各大网址收录查询
  • 沈阳做一个网站需要多少钱网销是什么工作好做吗
  • 可以做红娘的相亲网站廊坊百度关键词优化
  • 苏州新区网站制作公司chrome 谷歌浏览器
  • 临沂做网站的百度联盟广告
  • 郑州seo优化顾问热狗网络seo是什么工作
  • net后缀的可以做网站吗百度下载安装免费
  • 网站设计基本流程第一步百度引擎搜索入口
  • 给宝宝做衣服网站好卡一卡二卡三入口2021
  • 网站建设与管理试卷及答案企业推广策划
  • 免费域名申请哪个网站好培训网站
  • 临沂网站建设兼职如何关闭2345网址导航
  • 青岛中企动力做网站怎么样百度上免费创建网站
  • 海阳做网站青岛seo关键词优化排名
  • wamp做的网站上传黄页88
  • 淄博政府做网站哪家好外贸营销型网站建设公司
  • 网彩预测网站制作教程宁波网站建设推广公司价格
  • 手机网站网站开发流程图嘉兴seo报价
  • 如何做网站站长外链推广平台