ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python爬虫练习——爬取链家二手房信息(基础篇)

2019-08-27 16:00:32  阅读:694  来源: 互联网

标签:node 101 python money list 链家 爬取 100 total


# -*- coding:utf-8 -*-
from lxml import etree
import requests

total_money = 0
total_number = 0
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36'
}
for i in range(1,101):
    url = "https://bj.lianjia.com/ershoufang/pg" + str(i) + "/"

    response = requests.get(url,headers = headers)
    response.encoding = 'utf8'
    html = response.text

    root = etree.HTML(html)

    node_list = root.xpath("//div/@data-price")    #data-price = "51891"

    total_number += len(node_list)
    for node in node_list:
        total_money += float(node)


average = total_money // total_number
print average

  上文中,最后输出的是单价平均数。

  先说下简单思路。观察发现,链家二手房北京地区总共展示了100页,首先想到的是将这100页的房源单价信息加总起来,然后再把这100页的房源数加起来,相除便可获得单价的平均数。

  上面的程序跑完后,的确可以跑出一个平均数。但最开始观察就发现,页面显示的总房源有好几万套,而当前展示的100页的套数3000(100*30)和总数差的可不是丁点。所以想到肯定还有n多页没有展示出来,突然又意识到,地址上我配置成101会不会就显示出101页呢?有一瞬间竟为自己的小聪明窃喜过、、、结果,试了后,当然不行,早该想到没有这么简单!

  发现了问题后,也就知道下一步要做什么了。后续的将再一步一步完善了。

标签:node,101,python,money,list,链家,爬取,100,total
来源: https://www.cnblogs.com/python-kp/p/11418873.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有