44.scrapy爬取链家网站二手房信息-2

news/2024/5/9 18:33:32/文章来源:https://blog.csdn.net/weixin_34290352/article/details/94342743
44.scrapy爬取链家网站二手房信息-2
全面采集二手房数据:

网站二手房总数据量为27650条,但有的参数字段会出现一些问题,因为只给返回100页数据,具体查看就需要去细分请求url参数去请求网站数据。
我这里大概的获取了一下筛选条件参数,一些存在问题也没做细化处理,大致的采集数据量为21096,实际19794条。

看一下执行完成结果:

{'downloader/exception_count': 199,
'downloader/exception_type_count/twisted.internet.error.NoRouteError': 192,
'downloader/exception_type_count/twisted.web._newclient.ResponseNeverReceived': 7,
'downloader/request_bytes': 9878800,
'downloader/request_count': 21096,
'downloader/request_method_count/GET': 21096,
'downloader/response_bytes': 677177525,
'downloader/response_count': 20897,
'downloader/response_status_count/200': 20832,
'downloader/response_status_count/301': 49,
'downloader/response_status_count/302': 11,
'downloader/response_status_count/404': 5,
'dupefilter/filtered': 53,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2018, 11, 12, 8, 49, 42, 371235),
'httperror/response_ignored_count': 5,
'httperror/response_ignored_status_count/404': 5,
'log_count/DEBUG': 21098,
'log_count/ERROR': 298,
'log_count/INFO': 61,
'request_depth_max': 3,
'response_received_count': 20837,
'retry/count': 199,
'retry/reason_count/twisted.internet.error.NoRouteError': 192,
'retry/reason_count/twisted.web._newclient.ResponseNeverReceived': 7,
'scheduler/dequeued': 21096,
'scheduler/dequeued/memory': 21096,
'scheduler/enqueued': 21096,
'scheduler/enqueued/memory': 21096,
'spider_exceptions/TypeError': 298,
'start_time': datetime.datetime(2018, 11, 12, 7, 59, 52, 608383)}
2018-11-12 16:49:42 [scrapy.core.engine] INFO: Spider closed (finished)

采集数据如图:

num = 296910/15=19794条

 

2. lianjia.py# -*- coding: utf-8 -*-
import scrapyclass LianjiaSpider(scrapy.Spider):name = 'lianjia'allowed_domains = ['gz.lianjia.com']start_urls = ['https://gz.lianjia.com/ershoufang/pg1/']def parse(self, response):for i in range(1,8):for j in range(1,8):url = 'https://gz.lianjia.com/ershoufang/p{}a{}pg1'.format(i,j)yield scrapy.Request(url=url,callback=self.parse_detail)def parse_detail(self,response):# 符合筛选条件的个数counts = response.xpath("//h2[@class='total fl']/span/text()").extract_first().strip()# print(counts)if int(counts)%30 >0:p_num = int(counts)//30+1# print(p_num)# 拼接首页urlfor k in  range(1,p_num+1):url = response.urllink_url = url.split('pg')[0]+'pg{}/'.format(k)# print(link_url)yield scrapy.Request(url=link_url,callback=self.parse_detail2)def parse_detail2(self,response):#获取当前页面urllink_urls = response.xpath("//div[@class='info clear']/div[@class='title']/a/@href").extract()for link_url in link_urls:# print(link_url)yield scrapy.Request(url=link_url,callback=self.parse_detail3)# print('*'*100)def parse_detail3(self,response):title = response.xpath("//div[@class='title']/h1[@class='main']/text()").extract_first()print('标题: '+ title)dist = response.xpath("//div[@class='areaName']/span[@class='info']/a/text()").extract_first()print('所在区域: '+ dist)contents = response.xpath("//div[@class='introContent']/div[@class='base']")# print(contents)house_type = contents.xpath("./div[@class='content']/ul/li[1]/text()").extract_first()print('房屋户型: '+ house_type)floor = contents.xpath("./div[@class='content']/ul/li[2]/text()").extract_first()print('所在楼层: '+ floor)built_area = contents.xpath("./div[@class='content']/ul/li[3]/text()").extract_first()print('建筑面积: '+ built_area)family_structure = contents.xpath("./div[@class='content']/ul/li[4]/text()").extract_first()print('户型结构: '+ family_structure)inner_area = contents.xpath("./div[@class='content']/ul/li[5]/text()").extract_first()print('套内面积: '+ inner_area)architectural_type = contents.xpath("./div[@class='content']/ul/li[6]/text()").extract_first()print('建筑类型: '+ architectural_type)house_orientation = contents.xpath("./div[@class='content']/ul/li[7]/text()").extract_first()print('房屋朝向: '+ house_orientation)building_structure = contents.xpath("./div[@class='content']/ul/li[8]/text()").extract_first()print('建筑结构: '+ building_structure)decoration_condition = contents.xpath("./div[@class='content']/ul/li[9]/text()").extract_first()print('装修状况: '+ decoration_condition)proportion = contents.xpath("./div[@class='content']/ul/li[10]/text()").extract_first()print('梯户比例: '+ proportion)elevator = contents.xpath("./div[@class='content']/ul/li[11]/text()").extract_first()print('配备电梯: '+ elevator)age_limit =contents.xpath("./div[@class='content']/ul/li[12]/text()").extract_first()print('产权年限: '+ age_limit)# try:#     house_label = response.xpath("//div[@class='content']/a/text()").extract_first()# except:#     house_label = ''# print('房源标签: ' + house_label)with open('text2', 'a', encoding='utf-8')as f:f.write('\n'.join([title,dist,house_type,floor,built_area,family_structure,inner_area,architectural_type,house_orientation,building_structure,decoration_condition,proportion,elevator,age_limit]))f.write('\n' + '=' * 50 + '\n')print('-'*100)
3.代码还需要细分的话,就多配置url的请求参数,缩小筛选范围,获取页面就更精准,就能避免筛选到过3000的数据类型,可以再去细分。

 

posted on 2018-11-12 18:21 五杀摇滚小拉夫 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lvjing/p/9948171.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_777297.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPv6系列(二)--现有网站快速接入

一、 购买并配置“IPv6转换服务” 1.1 进入以下链接进行购买 链接:https://www.aliyun.com/product/ipv6trans 1.2 选择合适的参数 1.3 配置IPv6转换服务 添加映射条目(复制下图中的IPv6地址,备用) 等待配置生效(…

珍藏已久的6个资源网站,每天让你不愁找不到资源,你值得拥有

想必如果你是一名在网上混迹多年的老网民,手上一定有几套属于自己的网站,有时候想要什么直接在里面搜索十分方便!也不需要满网进行瞎找,但是这类网站起来很快倒下来也很多,所以在很多时候我们要不断的更新自己手头上的…

***不是已知元素 原因可能是网站中存在编译错误

在用visual studio 2005编辑asp.net页面时,有时会遇到:"***"不是已知元素。错误情况如下图:原因可能是网站中存在编译错误。 这有可能是代码中的"***"确实有错,但是有时候你会发现代码根本就没有错&#xff0…

电商网站用户端FE

2019独角兽企业重金招聘Python工程师标准>>> 需求拆分原则 1、单个迭代不宜太大 2、需求可交付,能够形成功能闭环 3、有成本意识,遵循二八原则 4、有预期的价值体现 提炼核心需求 用户端:商品、购物车、下单、支付、订单、用户 后…

ASP.NET夜话之二十一asp.net网站的性能优化

本篇主要讲述在ASP.NET中如何提高程序性能。提高程序性能的方法主要从编码和数据操作及优化配置三方面,本章要讲述的知识点有: l 程序编码优化 l 数据操作优化 l 配置优化 l 总结 21.1 程序编码优化 从编码方面提高程序性能的方法主要涉及到集…

开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试

前言 表面看来,JMeter与本系列课程似乎关系不大,但实际上在后面的很多场景中起着重要作用:如何获知修改了某些代码或者设置之后系统性能是提升了还是下降了呢?商业的压力测试工具LoadRunner确实很高大上,但是据说费用也…

php消息推送接口,如何通过API接口给网站推送实时消息?

主要的工作者分为三个部分【web前端】【web后端】【websocket服务器】准备工作1、开启【websocket服务器】端口如下图片.png【websocket服务器】linux部署并启动服务1、下载workman包,推荐workman官方2、在linux命令行打开workman目录3、输入命令php start.php star…

asp.net网站不同子域名共享session信息

1session信息可序列化 [Serializable][Serializable]public class UserSession{ public string GroupCode{get;set;}public string RoleCode{get;set;}} 2 使cookie的path为根域名而不是子域名function setCookie(name, value) {//两个参数,一个是cookie的名子&…

使用程序自动登录网站

之前写过一篇使用代码自动登录网站,下载数据的博客程序自动登录和下载数据,后来在测试发现发现使用之前博客中的方法会导致网站系统异常,自然也就不能登录和下载数据了。但因为不是自己的网站不知道导致异常的原因,于是只能测试&a…

大型网站架构技术演进的思考(一):存储的瓶颈(1)

大型网站架构技术演进的思考(一):存储的瓶颈(1) 2016-03-23 架构说前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大…

React发布网站后,Failed to load resource: the server responded with a status of 404 (Not Found)

IIS服务器如果发布了React开发的网站后,由于react会生成一个manifest.json在网站目录,用户浏览网站时候需要用到这个文件. 而IIS默认不支持json文件的访问,需要添加MIME类型信息 点右上角添加 输入如图,确定 不需要重启IIS,客户端直接刷新请求的页面即可

自建文章网站/博客,用什么HTML/富文本/web在线编辑器发文章比较好?

这是个人思路整理,你应有你自己的选择方式. 一直想做一个自己的网站,发布一些自己的文章.总在CSDN发文章,感觉CSDN的编辑器不错. 网上搜了一下,好多人说csdn很久之前用的是一个fceditor或者kindeditor之类的. 但我发现并不是.至少现在不是. 于是在git上简单搜了搜 waht you…

用好 CSS 的 filter滤镜,让你的网站超炫

让网站又漂亮又快是大家共同追求的目标。CSS 一个比较炫的属性 Filter 是非常帅的,可以不用flash就做出很漂亮的效果。filter 中有14个滤波器,我先使用 alpha 滤波器做个渐变的例子把。 例子:首先,把下面的代码粘贴到 test.html…

前端开发必备的几个网站

1,codelf。如果你不知道怎么命名一个东西,就去上面查查看。https://unbug.github.io/codelf/ 2.json在线格式化。不需解释的神器。https://www.json.cn/ 3.Can I use。查询浏览器兼容性的官方地址。https://www.caniuse.com/ 4.MDN。比w3c更靠谱更权威的…

Lnmp架构部署动态网站环境.2019-7-3-1.4

安装wiki开源产品 一、创建数据库 [rootLnmp bbs]# mysql -uroot -p123456 mysql> create database wiki;  #创建wiki数据库 mysql> grant all on wiki.* to wikilocalhost identified by wiki;  #创建wiki数据库用户 mysql> flush privileges;  #刷新权限 二、…

absolute 必须 relative_在美国生活如何更省钱?这些购物比价网站必须收藏

转载自:美国邦利无论我们由于什么来到美国,生活总是要围绕着衣食住行,留学也好,工作也罢,既然离不开买买买,在美国生活的小伙伴就少不得要精打细算。作为省钱小达人的我,自悟出了一套省钱三部曲…

利用cookie实现网站的自动登录_wordpress网站实现QQ登录方法

前面好一佳已经说了利用插件WP Open Social实现了QQ微信分享功能以后,好一佳发现这里还可以实现QQ登录功能,于是好一佳就开始研究利用QQ登录网站的方法了,几天下来,好一佳终于搞定这个功能,今天好一佳就在这里给大家说…

网站刷关键词_如何提升网站关键词及长尾词的排名 - 百度排名提升软件

原出处:超级排名系统原文链接:如何提升网站关键词及长尾词的排名? - 超级排名系统现在百度的更新几乎每天都在更新,目的是防止别人用软件刷排名和流量,但很多软件仍在不断的模拟用户点击站点。如果你知道百度的点击算法…

K近邻算法-约会网站配对实例

背景 海伦女士一直使用在线约会网站寻找适合自己的约会对象。尽管约会网站会推荐不同的任选 但她并不是喜欢每一个人。经过一番总结,她发现自己交往过的人可以进行如下分类:(1)不喜欢的人 (2)魅力一般的人…

大型网站和java中间件_大型网站系统与Java中间件实践

第一章:分布式系统介绍1.1初始分布式系统1.1.1分布式系统的定义两个重点:一是组件分布在网络计算机上,二是组件之间仅仅用过消息传递来通信并协调行动。分布式系统的定义:分布式系统一定是有多个节点组成的系统,一般来…