zoukankan      html  css  js  c++  java
  • 爬虫实践--租房信息查找

      起因:最近需要找房子,选择58同城找个人房源发现一个个找太费事,想着先抓取房源存档后慢慢检索;

      文件存放格式如下

     设计思路

     1.确定文件格式,分2个sheet,按照1室、2室划分

     2.选择范围北蔡地区【这里可设置为变量,随意替换成其它地区】

     3.抓取源码【选择分页中前3页,太久了信息作用不大】

     4.分析源码找出抓取信息所在区块、调式区块内需要的一个个字段

     5.将字段组合成list,每个list元素为一个元组()

     6.调用自己编写的excel写入模块,写入信息、存档

     调式遇到的坑

     1.网站针对请求有限制,多了会要求输入验证码【可加入请求头、请求间隔延长】

     2.字段信息需要在当前页面拿到url,再请求一次拿到源码,有点杂乱

     3.get_text() 获取区块的文字,文字间包含多个空格、换行,需要strip()去除首尾、re.sub(' +', ' ',string)去除中间多个空格为一个空格

     4.字符串切割始终是难点 split(u'年')[0] 针对中文字符切记要带上u 

     5.抓取的字段需要转成unicode()

    unicode(x.find_all(class_="positionInfo")[0].get_text()).strip().split(u'年')[0].split(")")[1].strip()

    6.用到最多的方法
    find_all(class_="house-update-info c_888 f12")[0] 【查找所有类为house-update-info c_888 f12 形成一个list】
    find_all("li") 【查找所有<li>标签元素】
    get_text() 文字读取
    .a['href'] url读取 【下层级元素链接用'.'  比如.span  .p  .em】
    ["data-price"] 属性读取

  • 相关阅读:
    JSON
    ASP.NET 应用程序与页面生命周期
    authentication vs authorization
    令人郁闷的estimate功能
    Histograms: An Overview
    intro TwoPhase Commit(2PC)
    About transaction lock and V$lock view
    Zenoss Announces Monitoring for VMWare's Cloud Director
    Script to show Active Distributed Transactions
    How to trigger ORA00600,ORA7445 by manual
  • 原文地址:https://www.cnblogs.com/aeip/p/zufangzhuaqu.html
Copyright © 2011-2022 走看看