Python爬虫实战:爬取链家网二手房数据
原创
©著作权归作者所有:来自51CTO博客作者松鼠爱吃饼干的原创作品,请联系作者获取转载授权,否则将追究法律责任
前言
买房装修,是每个人都要经历的重要事情之一。相对于新房交易市场来说,如今的二手房交易市场一点也不逊色,很多二手房的信息刚刚挂出来,就被其他购房者拿下了。
项目目标
爬取链家网二手房信息
受害者地址
https://cs.lianjia.com/ershoufang/pg%7B%7D/
基本环境配置
代码
导入工具
import requests
import parsel
import time
请求网页,爬取数据
for page in range(1, 101):
print('===========================正在下载第{}页数据================================'.format(page))
time.sleep(1)
url = 'https://cs.lianjia.com/ershoufang/pg{}/'.format(page)
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
selector = parsel.Selector(response.text)
lis = selector.css('.sellListContent li')
dit = {}
for li in lis:
title = li.css('.title a::text').get()
dit['标题'] = title
positionInfo = li.css('.positionInfo a::text').getall()
info = '-'.join(positionInfo)
dit['开发商'] = info
houseInfo = li.css('.houseInfo::text').get()
dit['房子信息'] = houseInfo
followInfo = li.css('.followInfo::text').get()
dit['发布周期'] = followInfo
Price = li.css('.totalPrice span::text').get()
dit['售价/万'] = Price
unitPrice = li.css('.unitPrice span::text').get()
dit['单价'] = unitPrice
csv_writer.writerow(dit)
print(dit)
保存数据
import csv
f = open('二手房信息.csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['标题', '开发商', '房子信息', '发布周期', '售价/万', '单价'])
csv_writer.writeheader()
运行代码,效果如下