scrapy的简单爬虫配置
上节课,我们爬取的内容并没有看到想要的结果。
上节:scrapy框架的基本使用
因为我们还需要配置下scrapy
-
settings.py
-
禁止robots
上图中,我们看到了xxx/robots.txt 字样,说明scrapy框架与robots协议有关。
scrapy默认是遵守robots协议的,我们在配置文件把它更改下
# 在settings.py文件中,找到 ROBOTSTXT_OBEY = TRUE # 把它改为False ROBOTSTXT_OBEY = False
-
指定日志类型:
LOG_LEVEL = 'ERROR'
刚刚其实打印的是日志信息
执行工程后,默认会输出工程所有的日志信息。
指定类型日志的输出:
LOG_LEVEL= 'ERROR'
# 在settings.py文件中,添加一行代码(注意是直接添加) LOG_LEVEL= 'ERROR'
-
UA伪装
我们知道,爬取网站基本都是需要
headers
的。那么我们在scrapy
中该如何设置呢?# 配置文件中,USER_AGENT是默认注释的。我们不要注释它,并更改为自己的user-agent内容 USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36'
-
-
爬虫文件spiderName内容阐述
name
:爬虫文件的名称,该文件的唯一标识allowed_domains
:允许爬取的域名:通常注释掉start_urls
:起始的url列表,存储的都是url,url可以被自动进行get请求的发送parse
方法:请求后的数据解析操作
我们来更改下爬虫文件代码执行下:
import scrapy class DemoSpider(scrapy.Spider): # 爬虫文件名称 name = 'demo' # 允许的域名:通常过滤掉 # allowed_domains = ['www.xxx.com'] # 起始的url列表:只可以存储url # 作用:列表中存储的url都会被进行get请求的发送 start_urls = ['https://www.baidu.com/', 'https://www.sogou.com'] # 数据解析 # parse方法调用的次数完全取决于请求的次数 # 参数response:标识的就是服务器返回的响应对象 def parse(self, response): print(response)
这样,我们就顺利爬取到了内容。
之所以只看到了网址,那是因为我们还没有进行数据分析!下节课我们进行数据分析。
关注Python涛哥!学习更多Python知识!