网络爬虫 - 10 深入理解Scrapy框架

深入理解Scrapy框架

1、scrapy shell

scrapy shell是一个scrapy的调试工具,用它来进行调试xpath,在scrapy shell中测试的是对的,到代码中肯定是对的。
安装 pip install ipython
使用方式:scrapy shell url

在ipython中可以直接使用response

response.xpath()  得到一个列表,里面都是selector对象
ret[0].extract === ret.extract()[0] == ret.extract_first()如果xpath写错了,extract_first会返回None,前面连个会抛出异常
    scrapy里面不仅集成了xpath,还集成了bs,也可以使用选择器查找元素
    response.css(选择器)
            获取文本内容
                ret = response.css('#content-left > div h2::text')
            获取属性
                ret = response.css('#content-left > div img::attr(src)')
    item对象
        这个对象在使用的时候和字典的用法一模一样
        item['name'] = xxx
        item['age'] = xxx
        可以将对象快速的转化为字典
        d = dict(item)

2、yield item和请求

from scrapy import cmdline
cmdline.execute()

3、日志信息和错误等级

scrapy内置5类错误等级

python
严重错误 CRITICAL
一般错误 ERROR
警告 WARNING
普通信息 INFO
调试信息 DEBUG
发现bug需要3秒钟,解决bug需要3个小时,debug却要一辈子
默认等级是DEBUG
配置等级
LOG_LEVEL = 'ERROR'
配置写到文件中
LOG_FILE = 'log.txt'

4、发送post请求

python
scrapy.FormRequest(url=xxx, formdata=xxx, callback=self.xxx)
如果运行爬虫就想发送post请求,需要重写start_requests方法

5、使用Scrapy框架爬取图片

见代码

猜你喜欢

转载自blog.csdn.net/hanbo6/article/details/82183126