Scrapy教程:基于机器视觉的多目标提取与安全配置

需积分: 15 19 下载量 193 浏览量 更新于2024-08-07 收藏 5.63MB PDF 举报
"本文主要介绍了Scrapy框架的相关配置和使用,包括版本兼容性、TLS/SSL设置、下载中间件以及创建基本爬虫的步骤。Scrapy是一个强大的Python爬虫框架,适用于网页抓取和结构化数据提取。" 在Scrapy框架中,针对远程服务器的证书验证,你可以使用`scrapy.core.downloader.contextfactory.BrowserLikeContextFactory`,但要注意这个选项仅在Twisted版本大于等于14.0时可用。如果你选择自定义ContextFactory,确保在初始化时能接受`method`参数,这与OpenSSL.SSL的方法映射有关,例如`DOWNLOADER_CLIENT_TLS_METHOD`。 `DOWNLOADER_CLIENT_TLS_METHOD`是一个设置,用于定义HTTP/1.1下载器默认使用的TLS/SSL方法。默认值为`TLS`,推荐使用,因为它允许协议协商,从平台支持的最高版本开始。此外,你还可以设置为`TLSv1.0`、`TLSv1.1`、`TLSv1.2`或`SSLv3`,但使用SSLv3不安全,应避免。为了确保安全,建议使用PyOpenSSL >= 0.13和Twisted >= 0.13(最好Twisted > 14.0)。 Scrapy的下载中间件(`DOWNLOADER_MIDDLEWARES`)是处理请求和响应的关键组件。`DOWNLOADER_MIDDLEWARES_BASE`包含了Scrapy默认启用的中间件列表,它们按照执行顺序排列。不要直接修改这个设置,而应该在项目中的`DOWNLOADER_MIDDLEWARES`中添加或调整中间件。这些中间件涵盖了从遵循robots.txt规则、HTTP认证、重试机制到用户代理伪装、HTTP缓存等众多功能。 `DOWNLOADER_STATS`设置控制是否收集下载器的数据统计,其默认值为`True`。开启此选项可以获取有关下载器性能的详细信息。 为了演示Scrapy的基本用法,文章提供了`QuotesSpider`的例子,这个简单的爬虫会爬取`http://quotes.toscrape.com`网站上的幽默类别引言。爬虫首先从`start_urls`定义的页面开始,然后解析每个响应,提取引言文本和作者信息。如果存在下一页链接,爬虫会继续跟随链接抓取更多数据。最后,爬虫可以通过`runspider`命令运行,并将结果保存为JSON文件。 Scrapy是一个功能强大的爬虫框架,提供了灵活的配置选项和丰富的中间件,便于开发高效、安全的网络爬虫。通过了解和掌握这些知识点,开发者可以更好地利用Scrapy进行网页抓取和数据提取任务。