python - 如何在终端中写入包含特定文本的输出
问题描述
我尝试使用 'scrapy' 来抓取网页 URL,但我不能使用 '>' 直接写入文件。
我还尝试使用“脚本”命令在终端屏幕上捕获文本,它有效,但它在短时间内编写了所有使用大量存储的内容。我打算夜跑,我担心我的存储空间已经满了。
例如来自终端的文本;
2020-11-05 17:22:10 [scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to 'seek.bloggang.com': <GET http://seek.bloggang.com>
2020-11-05 17:22:10 [scrapy.core.scraper] ERROR: Spider error processing <GET https://pantip.com/topic/39275448> (referer: https://pantip.com/tag/Marriage_Visa)
Traceback (most recent call last):
File "/home/noah/.local/lib/python3.6/site-packages/scrapy/utils/defer.py", line 120, in iter_errback
yield next(it)
File "/home/noah/.local/lib/python3.6/site-packages/scrapy/utils/python.py", line 353, in __next__
return next(self.data)
File "/home/noah/.local/lib/python3.6/site-packages/scrapy/utils/python.py", line 353, in __next__
return next(self.data)
我只想要包含 URL(在标签中)的行
2020-11-05 17:22:10 [scrapy.core.scraper] ERROR: Spider error processing <GET https://pantip.com/topic/39275448> (referer: https://pantip.com/tag/Marriage_Visa)
你对这个案子有什么想法吗?
此致。
PS。我也给你附上了代码。
import scrapy
class BrickSetSpider(scrapy.Spider):
name = "spider"
allowed_domains = ['pantip.com']
start_urls = ['https://pantip.com']
def __init__(self):
self.links=[]
def parse(self, response):
self.links.append(response.url)
for href in response.css('a::attr(href)'):
yield response.follow(href, self.parse)
解决方案
推荐阅读
- excel - Excel计算罚款支付
- python - 用 PyGame 设计的按钮不会改变变量的值
- reactjs - 在 React 中从状态中搜索
- mysql - Django>=3.2 和 dbshell
- vba - 重新启动 MS Outlook 时出错,但“sleep 30”修复了错误
- java - 控制台输出中的捷克语字符
- firebase - 我可以将一个字符串从一个活动传递给另一个活动,但在原始更新时仍然可以更新它吗?
- visual-studio-code - 了解流星中的文件夹位置 create appName --full
- visual-studio-code - VS Code 中的终端高亮显示
- opengl - OpenGL / 3D 图形中的四元数