Python爬虫实战:爬取链家网二手房数据

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

买房装修,是每个人都要经历的重要事情之一。相对于新房交易市场来说,如今的二手房交易市场一点也不逊色,很多二手房的信息刚刚挂出来,就被其他购房者拿下了。

 

项目目标

爬取链家网二手房信息

受害者地址

https://cs.lianjia.com/ershoufang/pg%7B%7D/

 

基本环境配置

  • python 3.6
  • pycharm

 

代码

导入工具

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()

运行代码,效果如下

 

课程目标 《从零开始学Scrapy爬虫》从零开始,循序渐进地介绍了目前流行的爬虫框架Scrapy。即使你没有任何编程基础,学习起来也不会有压力,因为我们有针对性地介绍了Python编程技术。另外,《从零开始学Scrapy爬虫》在讲解过程中以案例为导向,通过对案例的不断迭代、优化,让读者加深对知识的理解,并通过14个项目案例,提高学习者解决实际问题的能力。 适合对象 爬虫初学者、爬虫爱好者、高校相关专业的学生、数据爬虫工程师。 课程介绍 《从零开始学Scrapy爬虫》共13章。其中,第1~4章为基础篇,介绍了Python基础、爬虫基础、Scrapy框架及基本的爬虫功能。第5~10章为进阶篇,介绍了如何将爬虫数据存储于MySQL、MongoDB和Redis数据库中;如何实现异步AJAX数据;如何使用Selenium和Splash实现动态站的;如何实现模拟登录功能;如何突破反爬虫技术,以及如何实现文件和图片的下载。第11~13章为高级篇,介绍了使用Scrapy-Redis实现分布式爬虫;使用Scrapyd和Docker部署分布式爬虫;使用Gerapy管理分布式爬虫,并实现了一个抢票软件的综合项目。       由于目标站可能会对页面进行改版或者升级反爬虫措施,如果发现视频中的方法无法成功数据,敬请按照页面实际情况修改XPath的路径表达式。视频教程主要提供理论、方法支撑。我们也会在第一时间更新源代码,谢谢! 课程特色
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页