• 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,
    }

    代码就不贴了,挺简单的,都是设置的问题。
    
    
  • 相关阅读:
    正则表达式语法学习
    微软开放WP开发者回复用户应用评论功能
    下载安全程序需谨慎 黑客盯上XP用户
    软件业进入由大变强关键期
    54%的恶意程序无法被检测出
    CSS:第1课
    Javascript疑问【长期更新】
    不同语言的注释【长期更新】
    定制博客CSS样式
    认识Html DOM
  • 原文地址:https://www.cnblogs.com/chenyang920/p/7893311.html
Copyright © 2020-2023  润新知