python爬取二手房信息,python爬取房源数据

  python爬取二手房信息,python爬取房源数据

  前言中的文字和图片均来自互联网,仅供学习交流,无商业用途。如有问题,请及时联系我们进行处理。

  Python爬虫入门新手教学(一):爬豆瓣电影排名信息。

  Python爬虫入门教学(二):爬行小说

  基础开发环境Python 3.6Pycharm相关模块使用requestsparselcsv安装Python并将其添加到环境变量中。pip可以安装所需的相关模块。

  第一,明确需求

  拿着攀登地图上盒子里的东西。

  第二,请求网页打开开发者工具(F12或鼠标右键勾选),选择notework查看数据返回的内容。

  开发者工具可以看到,网站是静态的网页数据,通过请求url地址可以直接获取数据内容。

  URL= https://cs . lianjia . com/er shou Fang/

  标题={

  用户代理: Mozilla/5.0(Windows NT 10.0;WOW64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/81 . 0 . 4044 . 138 Safari/537.36

  }

  response=requests.get(url=url,headers=headers)

  Print(response.text)如果你不知道返回的数据中是否有你想要的内容,并且你已经复制了网页的内容,那么在pycharm的输出结果中搜索检查一下。

  三。解析数据由于网站是静态的网页数据,所以可以直接查看数据在开发者工具元素中的位置。

  如上图所示,所有相关的数据内容都包含在li标签中。通过parsel解析库,解析提取数据就够了。

  选择器=parsel。选择器(响应.文本)

  lis=selector.css(。sell list content Li’)

  李斯对李说:

  #标题

  title=li.css(。标题a:text’)。获取()

  #地址

  positionInfo=li.css(。position info a:text’)。getall()

  #社区

  community=positionInfo[0]

  #地名

  address=positionInfo[1]

  #房屋的基本信息

  houseInfo=li.css(。house info:text’)。获取()

  #房价

  Price=li.css(。total price span:text’)。Get()万年

  #单价

  单价=li.css(。单价span:text’)。获取()。替换(单价,)

  #发布信息

  followInfo=li.css(。follow info:text’)。获取()

  dit={

  标题:标题,

  社区,社区,

  地名:地址,

  房屋基本信息,房屋信息,

  房价,价格,

  单价,单价,

  发布信息:followInfo,

  }

  当我运行它时,我发现我报告了一个错误。

  IndexError:列表索引超出范围超出了索引范围。

  有事不要慌。取0超出了指标范围,说明数据没有取,所以要看一下精装房.这条信息下面的一条是什么情况。

  我发现这个中间插了个广告,也在李标签里,简单判断一下就好了。这是一个没有标题的广告。只是判断有没有标题。有就爬相关内容,没有就过。

  李斯对李说:

  #标题

  title=li.css(。标题a:text’)。获取()

  如果标题:

  #地址

  positionInfo=li.css(。position info a:text’)。getall()

  #社区

  community=positionInfo[0]

  #地名

  address=positionInfo[1]

  #房屋的基本信息

  houseInfo=li.css(。house info:text’)。获取()

  #房价

  Price=li.css(。total price span:text’)。Get()万年

  #单价

  单价=li.css(。单价span:text’)。获取()。替换(单价,)

  #发布信息

  followInfo=li.css(。follow info:text’)。获取()

  dit={

  标题:标题,

  社区,社区,

  地名:地址,

  房屋基本信息,房屋信息,

  房价,价格,

  单价,单价,

  发布信息:followInfo,

  }

  打印(dit)

  这样就不会报错了。

  第四,保存数据(数据持久化)和抓取豆瓣的电影信息是一样的。使用csv模块将数据保存到Excel中。

  #创建文件

  F=开放(二手房数据。 CSV ,模式= a ,编码= UTF-8 ,换行= )

  Csv _ writer=csv.dictwriter (f,fieldnames=[title , community , place name , the house 基本信息,

  房价,单价,发布信息])

  #写入标题

  csv_writer.writeheader()

  Csv_writer.writerow(dit) V .第2页上的多页爬网# url地址

  URL _ 2= https://cs . lianjia . com/er shou Fang/pg2/

  #第3页url地址

  URL _ 3= https://cs . lianjia . com/er shou Fang/pg3/

  #第4页url地址

  URL _ 4= https://cs . lianjia . com/er shou Fang/pg4/

  通过以上内容,你只需要循环通过pg参数就可以抓取多个页面。

  对于范围(1,101)中的页面:

  URL=f 3359cs.lianjia.com/ershoufang/pg { page }/以便您可以抓取多个页面。

  实现效果

  原创作品来自爱吃饼干的博主松鼠,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: