zoukankan      html  css  js  c++  java
  • python抓取链家房源信息(二)

    试着用scrapy将之前写的抓取链家网信息的重新写了写

    然后先是用了第一页的网页作为测试,调试代码,然后发现总是抓取的时候遇见了

    类似于这样的问题,并且抓取不到信息

    2017-03-28 17:52:49 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://weibo.com/robots.txt> (referer: None)
    2017-03-28 17:52:49 [scrapy.downloadermiddlewares.robotstxt] DEBUG: Forbidden by robots.txt: <GET https://bj.lianjia.com/ershoufang/pg1/>
    2017-03-28 17:52:49 [scrapy.core.engine] INFO: Closing spider (finished)
    之前一直以为是因为没有加user-agent和header信息导致的,但是加上之后还是会出现这种情况,所以百度了下
    解决办法是 在 setting.py 中:
    ''# Obey robots.txt rules
    ROBOTSTXT_OBEY = True  //设置为 False 即可
    就能抓出来了,问题是因为 scrapy 默认检测 robots.txt ,看是否可以抓取,如果不行,就不能用了哦!

    然后百度了robot.txt,说是在设置爬虫的时候,在请求url之前,spider会向服务器请求一个robot.txt的文件,然后该文件包含了本站点允许爬虫爬取的范围(比如服务器不与许爬取的页面,可以通过robot协议设置)因为scrapy是遵守robot协议的,所以会先请求这个文件查看自己的权限。所以在setting.py中将ROBOTSTXT_OBEY设置为False就可以解决了

    然后在将数据插入到mongodb中时,没有插入数据,是忘记在setting.py中激活项目管道组件了。

    ITEM_PIPELINES = {
    'House.pipelines.HousePipeline': 300,
    }

    代码就不贴了,挺简单的,都是设置的问题。
    
    
  • 相关阅读:
    。。。。。。
    数据库
    python基础
    。。。。
    drf
    CRM笔记梳理
    人生苦短,我学PYTHON
    React的初步了解
    递归与迭代比较
    有没有大佬会很标准的三层架构
  • 原文地址:https://www.cnblogs.com/chenyang920/p/7893311.html
Copyright © 2011-2022 走看看