1-首先进行分析链家网 链家网址:https://www.lianjia.com/city/ 获取省市
2-创建文件 打开虚拟机或者powershell 执行命令scrapy startproject LianJia
3-通过使用vscode或者pycharm找到创建的文件夹 如果是使用虚拟机创建文件夹 需要download下载在本地pycharm 这里我使用的是vscode 创建文件在powershell 中进行 在vscode显示如图
4-接下来就是对各个.py文件进行操作
(1)首先对settings.py文件中将ROBOTSTXT_OBEY = True改为ROBOTSTXT_OBEY = False
(2)接下来在items.py中构建需要的字段值
import scrapy
class LianjiaItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
_id = scrapy.Field() #id值 这个在mongoDB 数据库中作为独一无二的序号
province = scrapy.Field() #省
city = scrapy.Field() #市
block = scrapy.Field() #区
loc = scrapy.Field() # 所在区域
room = scrapy.Field() #几室几厅
direction = scrapy.Field() #地理位置朝向
area = scrapy.Field() #面积
totalprice = scrapy.Field() #总价
HousePrice = scrapy.Field() #房价
url = scrapy.Field() #房子链接
(3)在spiders.LJW下开始构造函数 进行对链家网的爬取
import scrapy
class LjwSpider(scrapy.Spider):
name = 'LJW'
allowed_domains = ['lianjia.com/'] #允许的域名
start_urls = ['http://lianjia.com//'] #开始的链家
def parse(self, response):
pass
起始打开LJW.py文件就是上面这些代码 我们需要一一修改
import scrapy
class LjwSpider(scrapy.Spider):
name = 'LJW'
allowed_domains = ['lianjia.com/']
start_urls = ['https://www.lianjia.com/city/']
def parse(self, response):
pass
(4)接下来就不一一展示 直接进行代码的操作
# -*- coding: utf-8 -*-
import scrapy
from LianJia.items import LianjiaItem
import math