1.对于使用xpath,css选择器提取出来的对象,需要使用.extract()方法取值,常常使用.extract()[0]
,但是这种用法当xpath写错,提取不到东西是会返回一个空列表。可以使用.extract_first()
方法,提取不到时会返回none
2.在parse函数中,如果不使用scrapy.loader.ItemLoader
进行额外封装,直接编写item的话,最后使用yield item
会直接将item传送到pipeline,在pipeline中再做处理。
3.多个pipeline,前面的pipeline要有return
4.使用logging 模块处理日志信息。使用logging.warning.(item) 代替 print(item) 来将特定的信息输出到指定级别的日志中。但是这样输出日志没有办法显示是哪个文件输出的日志。可以使用 logging.getLogger(__name__) 来输出文件名称。使用方法,先实例化
logger = logging.getLogger(__name__)
如果要把日志保存到本地,在settings.py中配置
LOG_LEVEL = "" #输出的日志等级 LOG_FILE = "./log.log" #日志位置
5.如果要在python中使用logging,import之后定义一下logging.basicConfig() ,样式网上搜就行。
6.使用 scrapy.Request() 构建requests