# -*- Coding:utf-8 -*-from lxml import etreeimport requeststotal_money = 0total_number = 0headers = {‘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_numberprint average
上文中,最后输出的是单价平均数。
先说下简单思路。观察发现,链家二手房北京地区总共展示了100页,首先想到的是将这100页的房源单价信息加总起来,然后再把这100页的房源数加起来,相除便可获得单价的平均数。
上面的程序跑完后,的确可以跑出一个平均数。但最开始观察就发现,页面显示的总房源有好几万套,而当前展示的100页的套数3000(100*30)和总数差的可不是丁点。所以想到肯定还有n多页没有展示出来,突然又意识到,地址上我配置成101会不会就显示出101页呢?有一瞬间竟为自己的小聪明窃喜过、、、结果,试了后,当然不行,早该想到没有这么简单!
发现了问题后,也就知道下一步要做什么了。后续的将再一步一步完善了。
总结以上是内存溢出为你收集整理的python爬虫练习——爬取链家二手房信息(基础篇)全部内容,希望文章能够帮你解决python爬虫练习——爬取链家二手房信息(基础篇)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)