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

做ppt找素材的网站上海高端定制网站公司

做ppt找素材的网站,上海高端定制网站公司,淘宝客网站静态还是动态好,做网站有哪些文章目录 一、项目简介二、安居客网页分析1、整体分析2、细节分析2.1提取一个页面所有的房源信息2.2提取每个房源信息中的信息2.3如何爬取下一页的房源信息三、程序编写1、数据去重2、反爬虫策略3、使用requests请求网页4、爬取并解析网页5、计算每个区县的平均房价6、引入的文…

文章目录

    • 一、项目简介
    • 二、安居客网页分析
      • 1、整体分析
      • 2、细节分析
        • 2.1提取一个页面所有的房源信息
        • 2.2提取每个房源信息中的信息
        • 2.3如何爬取下一页的房源信息
    • 三、程序编写
        • 1、数据去重
        • 2、反爬虫策略
        • 3、使用requests请求网页
        • 4、爬取并解析网页
        • 5、计算每个区县的平均房价
        • 6、引入的文件库,以及一些之前代码没申明的全局变量
        • 7、主函数
        • 8、程序运行过程截图和最终文件截图
    • 四、后记

一、项目简介

有20w的济南用户地址信息(所在区县+街道),用济南市安居客网站(https://jinan.anjuke.com/sale/)查找每个用户所在街道的二手房房源信息,并求出该街道下的所有二手房的平均房价,即xxx元/㎡。
最终输出按用户地址文件的原顺序(不要过滤也不要打乱顺序)
输出格式:工作地经度,工作地纬度,居住地经度,居住地纬度,区县,街道,房价


二、安居客网页分析

以“山东省济南市历城区东风街道”中的“东风街道”搜索为例,提示:在安居客想要按照街道名搜索房源时最好不要加区县名,因为会弹出整个区的所有信息,与街道没多大关系,影响数据质量

1、整体分析

观察下面图片,可以看到搜索结果的第一页链接为https://jinan.anjuke.com/sale/rd1/?q=搜索内容

在这里插入图片描述

第二页开始就有规律:https://jinan.anjuke.com/sale/p页数/?q=搜索内容

在这里插入图片描述

每一个结果页面最多可以存放60个房源信息,可以点击’下一页’查看剩下的搜索结果

在这里插入图片描述

2、细节分析

2.1提取一个页面所有的房源信息

在这里插入图片描述

查看源代码,发现每个房源信息是以div class="property"标签包装的,所以我们可以使用BeautifulSoup中的find_all方法来获取一个页面中的所有房源信息

bs = BeautifulSoup(response.text, 'html.parser')
houses = bs.find_all('div', class_="property")
2.2提取每个房源信息中的信息

根据需求,我们需要爬取每个房源的平均价格具体地址,这里爬取地址是为了检查使用街道名搜索出来的房源信息是否是该区县的,因为其他区县也可能有这个街道名。
查看源代码,可以在源代码中使用Ctrl+F搜索关键字快速定位到我们需要的标签位置

在这里插入图片描述

为了从class="property"标签只取出我们需要的信息,我使用正则表达式查找每个item中指定的字符串(平均价格和所在地址)

# 平均价格
findAveragePrice = re.compile(r'<p class="property-price-average" data-v-94adac58="">(\d*)元/㎡</p>')
# 房源所在地址(市,区,详细地址)
findAddress = re.compile(r'<p class="property-content-info-comm-address" data-v-94adac58="">(.*?)</p>')
for item in houses:
# 根据正则表达式求出房源的地址
find_Address = re.findall(findAddress, str(item))[0]
# 为避免模糊查询的可能,还判断所查找的街区是否与房源地址一致,若一致,则加入价格
prices = []
if street in find_Address:price = re.findall(findAveragePrice, str(item))[0]print(find_Address, price)prices.append(float(price))
average_price = np.mean(prices)
2.3如何爬取下一页的房源信息

我们可以发现,安居客搜索结果页面不会显示出一共检索出了多少页面或者检索出了多少条信息。这样我们在写url时有难度,不好判断一共需要多少个url链接,是一大难点

在这里插入图片描述

那我们就先对比看看有没有下一页的源代码对比

在这里插入图片描述

在这里插入图片描述

可以发现,如果还有下一页,那么下一页按钮对应的class=“next next-active”;如果当前页面是最后一页,即没有下一页时,此时下一页按钮对应的class=“next click-forbid”,所以我们只需要判断class是什么即可知道有无下一页,是否请求对应的url

# 判断是否还有下一页
next_page 
http://www.yayakq.cn/news/175031/

相关文章:

  • 北京市住房与城乡建设网站公司网站建设和推广
  • 网站首页动图怎么做男女做羞羞的事网站
  • 大型门户网站建设一般多少钱wordpress 自定义
  • 网站开发工作室挣钱吗分销商管理系统
  • 菏泽网站建设菏泽众皓楚雄建网站
  • 为网站开发网站之家查询域名
  • 有找专业做淘宝网站的美工网站外部推广
  • 网站开发协议中的注意事项上海网站公司建设
  • 烟台网站制作软件黟县网站建设
  • 网站如何做会员登录页面一个网站的tdk是指网站的
  • 网站套餐报价 模版wordpress 代码位置
  • 亚马逊如何做折扣网站的营销wordpress选项卡分页
  • 住房和城乡建设部网站施工员客套企业名录搜索软件
  • 怎么查看网站是否被百度收录学网站开发多久
  • 湛江网站建设公司网页设计模板设计
  • 景区网站的作用我要自学网网页制作视频教程
  • 韩国网站设计欣赏无锡网站建设开发
  • 网站建设需解决问题织梦软件展示网站源码
  • 珠海专业网站建设价格重庆专业做淘宝网站
  • 软件公司网站模板图片传统企业营销型网站建设
  • 怀化建设网站模板之家网页模板
  • 文化共享工程网站建设情况如何在手机上建立自己的网站
  • 做百度网站找谁怎么做像天猫类似的网站
  • 天山路街道网站建设wordpress动漫整站
  • 网站网络服务器是什么情况安顺网站开发
  • 网站定制论文1500字左右单职业传奇手机手游版
  • 水果网站策划书网络公司排名前十名有哪些
  • 表白网站生成器html静态网页作业成品
  • 做网站干什么互联网推广seo
  • 马上飞做的一些网站织梦网站调用工具