Scrapy是一个用于网络爬虫的Python框架,它可以从网站中提取结构化的数据。Scrapy支持多种数据格式的输出,包括JSON和CSV。
原因:可能是由于选择器(Selectors)没有正确匹配到目标数据,或者数据提取逻辑有误。
解决方法:
import scrapy
class ExampleSpider(scrapy.Spider):
name = "example"
start_urls = ['http://example.com']
def parse(self, response):
for item in response.css('div.item'):
yield {
'title': item.css('h3.title::text').get(),
'link': item.css('a::attr(href)').get(),
}
原因:可能是由于输出设置不正确,导致数据没有被正确写入文件。
解决方法:
settings.py
中正确配置了FEED_FORMAT和FEED_URI。# settings.py
FEED_FORMAT = 'json'
FEED_URI = 'output.json'
原因:可能是由于数据处理逻辑有误,导致数据在处理过程中丢失。
解决方法:
def process_item(self, item, spider):
# 确保数据处理逻辑正确
return item
原因:可能是由于文件权限问题,导致数据无法写入文件。
解决方法:
chmod 755 output.json
原因:可能是由于日志级别设置过高,导致错误信息没有被记录。
解决方法:
# settings.py
LOG_LEVEL = 'DEBUG'
Scrapy适用于各种需要从网站提取数据的场景,例如:
通过以上方法,您应该能够找到并解决Scrapy输出空JSON/CSV文件的问题。如果问题仍然存在,请检查日志文件以获取更多详细信息。
一、内容分析
接下来创建一个爬虫项目,以 图虫网 为例抓取里面的图片。在顶部菜单“发现” “标签”里面是对各种图片的分类,点击一个标签,比如“美女”,网页的链接为:https://tuchong.com/tags/美女/,我们以此作为爬虫入口,分析一下该页面:
打开页面后出现一个个的图集,点击图集可全屏浏览图片,向下滚动页面会出现更多的图集,没有页码翻页的设置。Chrome右键“检查元素”打开开发者工具,检查页面源码,内容部分如下:
领取专属 10元无门槛券
手把手带您无忧上云