Skip to content

#11.13链家_二手房爬虫

##一、代码删减

以前以每个区3000个为界限,如:东城区有:3468 条数 > 3000,执行else部分
因为:最多只显示100页,也就是3000条
如:东城,3468 > 3000 ,只显示100页=3000条,想要显示更多,二级选项=》
A安定门安贞C朝阳门内朝阳门外崇文门D灯市口地安门东单东花市东四东直门G工体广渠门H和平里J建国门内建国门外交道口金宝街L六铺炕P蒲黄榆Q前门T陶然亭天坛X西单西罗园Y洋桥永定门Z左安门

上一次更新导致二级选项发生变化:
修改:

效果:速度更快,更方便阅读

##二、链家更新

###1.watch_num

上次更新中,链家去掉了watch_num内容,如:52次带看
但只是注释了代码:# item['watch_num'] = house.xpath('div/div[4]/text()[2]').pop()
but,输出的文件依然带有watch_num,而且全为空

修改:删掉items.py : # watch_num = scrapy.Field()
	 删掉pipelines.py: 
	headers = ['title', 'community', 'model', 'area', 'focus_num', 'time', 'price', 'average_price', 'link', 'city',  'page', 'page_index', 'Latitude']

###2.city

这次链家有修改了city标签

修改:city1 = contents.xpath('//span[@class="info"]/a[1]/text()').pop()

###3.community

应该是上次链家更新更改了community标签位置,没有报错,but跟很早的不一,
如:
	页面:国瑞城中区 - 崇文门
	很早的:金鱼池东区 
	现在的:崇文门
应该是获取前面的:国瑞城中区

修改:item['community'] = house.xpath('div[1]/div[2]/div[1]/a[1]/text()').pop()

###4.添加log

setting.py:

# 日志级别
LOG_LEVEL = "DEBUG"
# LOG_FILE = "./ershoufang.log"

注意:设置了LOG_FILE = "./ershoufang.log",在log文件输出,就不能在控制台输出

lianjia.py
import logging
log = logging.getLogger(__name__)

5.设置时间

1.	log输出按时间
import time
# 日志级别
LOG_LEVEL = "DEBUG"
LOG_TIME = time.strftime('%Y-%m-%d', time.localtime(time.time()))
LOG_FILE = "./ershoufang"+LOG_TIME+".log"

2.pipelines.py:
import time
currTime = time.strftime('%Y-%m-%d', time.localtime(time.time()))
self.file = open('ershoufang'+currTime+'.csv', 'w', encoding="utf-8")