倊倇倇倥倸 6: 倰俴倓倧倸倝俷倎値們倎值倄倥倄
倰俹値倉倝倥倹倛倓倢倉倴們倸倴倄倹俷倥倊倛倕倡倊倝倒倸倢俷倗倸倢俷倸倢倒 倰俲倢們倥俴倗倢們倓倩倹倚倦俱倗倸倢倆倹倢倰俲倢倛倕倡倊倴個 倰俲倢俴俷倴們倸倅倧倸倉俸倉俱倗倸倢俸倠倆倦俷倗倡倉倆倡倄倴個
倰俲倢倛倒値倊倲俴倕倸倢倰倒倷倉俸倢俱倅倩倹倰倒倷倉倱倕倹倗俱倄們倡倉倱倉倊俱倡倊倛倉倹倢倌倢俱倲倄倒倅倓俷 倓倩倹倚倦俱俴倦俱俴倡俱俲倃倠倎倩倄倳倉倳俸倗倸倢 "倰倝倢倕倸倠 們倢倇倣俱倡倉倅倸倝倰倆倝倠 俱倢倓倚倓倹倢俷俺倧倸倝倳倛倹倅倡倗倰倝俷俲倦倹倉倝倒倩倸俱倡倊俴倨倃倱倕倹倗"
"倅俱倕俷 倰個値倄 TextWrangler 倚倓倹倢俷倴倏倕值倳倛們倸倱倕倠倊倡倉倇倦俱們倡倉倗倸倢 scraper.py"
倰俹値倉倝倥倹倛倓倢倉倇倣倅倢們俴倣倚倡倸俷
"倗倢俷們倧倝俲倝俷俴倨倃倊倉俴倥倒值倊倝倓值倄"
倰俲倢倛倢倒倳俸倰俲倹倢倕倦俱倶 倱倕倠倗倢俷們倧倝倕俷倊倉倉倡倹倉
俸倢俱倉倡倹倉倉値倹倗俲倝俷倰俲倢俱倷倰倓値倸們俲倒倡倊
倄倹倗倒倊倓倓倇倡倄俲倹倝俴倗倢們倇倥倸個倓倢俱俿俲倦倹倉倳倉俴倗倢們俴値倄 倰俹値倉倝倥倹倛倓倢倉倰個倕倥倸倒倉倅倡倗倰倝俷倳倛倹俱倕倢倒倰個倷倉倰俴倓倧倸倝俷倎値們倎值倄倥倄
倉値倹倗俲倝俷倰俲倢倰倅倹倉倓倠倊倣倝倒倸倢俷倓倗倄倰倓倷倗倊倉俴倥倒值倊倝倓值倄 倱倕倠倊倓倓倇倡倄俲倝俷倲俴倹倄俱倷個倓倢俱俿俲倦倹倉倊倉倛倉倹倢俸倝
from urllib2 import urlopen from BeautifulSoup import BeautifulSoup import re import json import threading import Queue import time import sys
def init (self, url, depth = 1 ): self. url = url self. depth = depth self. results = self. visited = set
倚倐倢倎倇倥倸倄倥俲倝俷倰俹値倉倝倥倹倛倓倢倉倝倒倩倸倴倄倹倰倎倥倒俷俴倓倩倸倰倄倥倒倗俱倸倝倉倇倥倸們倧倝俲倝俷倰俲倢俸倠倰倓値倸們個倗倄 倱倅倸倲俺俴倄倥倇倥倸俸倡倚們値倉倚倢們倢倓倆倰倅倧倝倉倰俲倢倴倄倹倇倡倉倰倗倕倢倇倨俱俴倓倡倹俷倇倥倸倰俲倢倎値們倎值倌値倄
倛倕倡俷俸倢俱倇倣倅倡倗倝倧倄倝倢倄倱倊倊倉倥倹倝倒倩倸倚倢們俺倡倸倗倲們俷 倰俹値倉倝倥倹倛倓倢倉倓倩倹倚倦俱倰倛們倧倝倉倛倡倗俲倝俷倰俲倢俱倣倕倡俷俸倠倓倠倰倊値倄 倱倕倠倳倉倇倥倸倚倨倄俸倡倚們値倉俱倷倎倩倄俲倦倹倉
個倓倠們倢倃倚倝俷俺倡倸倗倲們俷倅倸倝們倢 俸倡倚們値倉倎倩倄倗倸倢 "倛倒倨倄 倄倩倇倥倸倛倉倹倢俸倝"
倰俹値倉倝倥倹倛倓倢倉倰倝倢們倧倝倝倝俱俸倢俱俴倥倒值倊倝倓值倄倱倕倠倚倠倊倡倄俲倹倝們倧倝
們倥倲俴倹倄倝倒倩倸個倓倠們倢倃倚倢們倓倹倝倒倊倓倓倇倡倄倊倉倛倉倹倢俸倝
"俹倡倉倴們倸倰俲倹倢倳俸倝倠倴倓倰倕倒倚倡俱倝倒倸倢俷"
"倓倡倉們倡倉 倰個値倄倰倇倝倓值們値倉倡倕 倎値們倎值 'python scraper.py http://example.com' 倱倕倹倗俱倄 Enter"
倰俹値倉倝倥倹倛倓倢倉倰個値倄倰倇倝倓值們値倉倡倕 倎値們倎值倅倢們俴倣倚倡倸俷 倱倕倠俱倄 Enter
俲倹倝俴倗倢們倰倓値倸們倱倚倄俷倌倕倊倉倛倉倹倢俸倝倇倥倕倠倊倓倓倇倡倄倝倒倸倢俷倓倗倄倰倓倷倗
URL: http://example.com Title: Example Domain Links found: 1 Headings: h1 - Example Domain Text content: This domain is for use in illustrative examples...
倛倕倡俷俸倢俱倌倸倢倉倴個個倓倠們倢倃倚値倊倗値倉倢倇倥 俱倢倓倱倚倄俷倌倕俱倷倛倒倨倄倕俷
倰倚倓倷俸倚値倹倉 倄倦俷俲倹倝們倩倕 1 倛倉倹倢 倳倉 8.3 倗値倉倢倇倥
俸倡倚們値倉: "們倡倉倓倡倉倴倄倹 們倢倰倎値倸們倏倥倰俸倝倓值俱倡倉倅倸倝倰倆倝倠"
倅倕倝倄倚倢們俺倡倸倗倲們俷倆倡倄們倢 倰俹値倉倝倥倹倛倓倢倉俱倕倢倒倰個倷倉倰俴倓倧倸倝俷倎値們倎值倄倥倄倝倥俱俴倓倡倹俷
俸倡倚們値倉倚倸俷倲俴倹倄倝倝俱們倢倇倥倕倠倊倓倓倇倡倄倌倸倢倉倉値倹倗們倧倝俲倝俷倰俲倢
倓倠倛倗倸倢俷倉倡倹倉 倰俹値倉倝倥倹倛倓倢倉倛値倗們倢俱倱倕倠倚倡倸俷倎値俻俻倸倢倓倹倢倉 Papa John's 們倡倉倰個倷倉倓倹倢倉倎値俻俻倸倢倲個倓倄俲倝俷倰俹値倉倝倥倹倛倓倢倉
IKEA 俱倷倉倣倰倏倝倓值倉値倰俸倝倓值們倢倚倸俷倰俺倸倉俱倡倉 倝倡倉倇倥倸俸倓値俷 倰倎倧倸倝倇倥倸俸倠倴們倸倅倹倝俷個倓倠俱倝倊倰倝俷 倰俹値倉倝倥倹倛倓倢倉倴倄倹倰倕倧倝俱俻倧倹倝俺値倹倉倚倸倗倉倇倥倸倰倓倥倒倊俷倸倢倒們倢
倰俲倢倓倩倹倚倦俱倗倸倢俴倓倦倸俷俺倡倸倗倲們俷倇倥倸倳俺倹倴個俱倡倊俱倢倓個倓倠俱倝倊倰倏倝倓值倉値倰俸倝倓值倉倡倹倉俸倓値俷倶 倱倕倹倗倆倧倝倰個倷倉俱倢倓倎倡俱 們倡倉倚倊倢倒俱倗倸倢俱倢倓俱倹們倛倉倹倢俱倹們倅倢倎値們倎值倄倹倗倒們倧倝倇倡倹俷倚倝俷俲倹倢俷
倰倎倥倒俷倰倇倸倢倉倥倹 倛倕倡俷俸倢俱倇倣倅倡倗倰倓倧倸倝倒倰個倧倸倝倒俸倉倆倦俷倚倢們倇倨倸們 scraper.py 俱倷倰倅値倊倲倅俸倢俱倚倢們倓倹倝倒倊倓倓倇倡倄倰個倷倉倰俱倧倝倊倛俱倓倹倝倒倊倓倓倇倡倄 俸倡倚們値倉倴倄倹倰倎値倸們俱倢倓倄倦俷俲倹倝們倩倕倱倊倊倎倓倹倝們俱倡倉 (concurrent scraping), 俱倢倓俸倡倄俱倢倓俲倹倝倌値倄倎倕倢倄, 俱倢倓倅値倄倅倢們倕値俷俱值倝倡倅倲倉們倡倅値, 倱倕倠倏倡俷俱值俺倡倉俱倢倓倚倸俷倝倝俱俲倹倝們倩倕 倝倥俱倇倡倹俷倒倡俷倰俲倥倒倉倝値倉倰倇倝倓值倰倏俻倱倊倊倊倓倓倇倡倄俴倣倚倡倸俷倳倛倹倝倥俱倄倹倗倒
"倇倄倚倝倊們倡倉倝倥俱俴倓倡倹俷: python scraper.py http://example.com 俴倓倢倗倉倥倹倳俺倹倰倗倷倊倴俻倅值俸倓値俷倶 倉倠"
倰俹値倉倝倥倹倛倓倢倉個倹倝倉倇倥倸倝倒倩倸倰倗倷倊倴俻倅值倝倒倸倢俷倰個倷倉倇倢俷俱倢倓俲倝俷 CNN 倕俷倳倉倰倇倝倓值們値倉倡倕倱倕倹倗俱倄 Enter
倛倉倹倢俸倝倰倕倧倸倝倉倌倸倢倉倴個倝倒倸倢俷倓倗倄倰倓倷倗倎倓倹倝們俱倡倊倌倕倕倡倎倈值 URL, 俺倧倸倝倰倓倧倸倝俷, 倊倇倚倓倨個倊倇俴倗倢們, 倰倗倕倢倇倥倸倰倌倒倱倎倓倸, 倕値俷俱值倓倩個倐倢倎... 俲倹倝們倩倕倛倕倢俱倛倕倢倒個倓倠倰倐倇倆倩俱倄倦俷倝倝俱們倢倲倄倒倝倡倅倲倉們倡倅値倱倕倠俸倡倄倰倓倥倒俷倝倒倸倢俷倰個倷倉倓倠倰倊倥倒倊
倰倚倓倷俸倚値倹倉 倄倦俷俲倹倝們倩倕 47 倛倉倹倢 倳倉 2 倉倢倇倥 14 倗値倉倢倇倥
倰俹値倉倝倥倹倛倓倢倉俸倹倝俷們倝俷倊倓倓倇倡倄俲倹倝俴倗倢們倉倡倹倉
47 倛倉倹倢, 2 倉倢倇倥 14 倗値倉倢倇倥
"倰俴倓倧倸倝俷們倧倝倰倚倓倷俸倚們倊倩倓倃值"
倇倹倢倒倇倝倒俲倝俷倰俹値倉倝倥倹倛倓倢倉倓倹倝倉俱倗倸倢倅倝倉俺倸倗俷倰俺倹倢
俸倡倚們値倉: "倰們倧倸倝倚們倝俷倇倣俷倢倉倐倢倒倳倅倹倐倢倓倠倛倉倡俱 俱倢倓倌倕値倅俴倗倢們倓倹倝倉俸倠倰倎値倸們俲倦倹倉 倓倠倊倊俴倗倊俴倨們倝倨倃倛倐倩們値倓倸倢俷俱倢倒俲倝俷俴倨倃俱倣倕倡俷倇倣俷倢倉 俴倨倃倴們倸倴倄倹個倸倗倒"
"俴倨倃倱倉倸倳俸倉倠? 倲俺俴倄倥倇倥倸俴倕倢倚倰倓倥倒倉倒倡俷倴們倸倰倓値倸們俸倉俱倗倸倢俸倠倆倦俷們倠倓倧倉倉倥倹 倆倹倢倎倓倨倸俷倉倥倹們倥倰倓倥倒倉俹倡倉俴俷倓倡倊們倧倝倴們倸倴倛倗倱倉倸"
"倗倢俷倳俸倰倆倝倠 俴倨倃倄倩倚倢倓俴倄倥倇倢俷俱倢倓倱倎倇倒值們倢倎倝倱倕倹倗倳倉俺倢倅値俱倸倝倉 俹倡倉俴倧倝們倧倝倝倢俺倥倎"
倰俹値倉倝倥倹倛倓倢倉倰倄値倉倴個倇倥倸倅倩倹倰倒倷倉倰倎倧倸倝倛倒値倊倉倹倣倰個倕倸倢倛倉倦倸俷俲倗倄倱倕倠倄倧倸們倴個俴倓倦倸俷倛倉倦倸俷倳倉倓倗倄倰倄倥倒倗
俸倡倚們値倉: "俹倡倉倝倒倢俱倉倣倰俴倓倧倸倝俷們倧倝倉倥倹俲倦倹倉倝倝倉倴倕倉值 俴倨倃俸倣 GitHub 倴倄倹倳俺倸倴倛們?"
"俹倡倉倰俴倒倴倄倹倒値倉們倢 們倡倉倰個倷倉倰倗倷倊倴俻倅值倚倣倛倓倡倊倲倞倚倅值倲俴倹倄 倴們倸倳俺倸倇倥倸倇倥倸 OpenClaw 倆倩俱倝倡個倲倛倕倄俲倦倹倉們倢倰倛倓倝?"
"倰個値倄 Safari 倱倕倹倗俴倹倉倛倢 GitHub"
倰俹値倉倝倥倹倛倓倢倉俴倹倉倛倢們倡倉 github.com 倛倉倹倢倰倗倷倊倰倓倥倒倊俷倸倢倒們倢俱 們倥倛倡倗俲倹倝俲倸倢倗倅倡倗倳倛俽倸倇倥倸倰俲倥倒倉倗倸倢 "Social Coding"
"倕俷倇倠倰倊倥倒倉倊倡俽俺倥"
倰俹値倉倝倥倹倛倓倢倉俴値倄俺倧倸倝倌倩倹倳俺倹倱倕倠俱倓倝俱倴個倱倊倊倚倨倸們 倚倣倛倓倡倊倝倥倰們倕 倰俲倢倳俺倹倊倡俽俺倥 Gmail 倇倥倸倰倎値倸俷倰個値倄倗倡倉倉倥倹 倱們倹倱倅倸倚倨倉倡俲俱倷倴們倸倳俺倹 Hotmail 倳倉俺倢倅値俱倸倝倉倝倥倰們倕倰倞俷俻倗倒倉倡倸倉倰俴倒倇倣倳倛倹倰俹値倉倝倥倹倛倓倢倉倎倕倢倄俱倢倓倚倸俷俷倢倉倴個倚倝俷俴倓倡倹俷 倚値倸俷倱倓俱倇倥倸倰俲倢倇倣倳倉倗倡倉倉倥倹倇倡倉倇倥倇倥倸倝値倉倰倇倝倓值倰倉倷倅倳俺倹俷倢倉倴倄倹倅倢們個俱倅値俴倧倝俱倢倓倅倡倹俷俴倸倢倊倡俽俺倥 Google 俲倝俷倰俲倢倳倛倹倰倓倥倒倊倓倹倝倒
倛倕倡俷俸倢俱倕俷倇倠倰倊倥倒倉倊倉 GitHub 俸倡倚們値倉倳倛倹倰俲倢俴倹倉倛倢倚値倸俷倇倥倸倰倓倥倒俱倗倸倢 Git 倰倎倧倸倝倄倢倗倉值倲倛倕倄倱倕倠倅値倄倅倡倹俷 們倡倉倰個倷倉倰俴倓倧倸倝俷們倧倝倊倓倓倇倡倄俴倣倚倡倸俷 倱倕倠倄倩倗倨倸倉倗倢倒俸倓値俷倶
"倱俴倸倇倣倅倢們俴倣倚倡倸俷俲倝俷俹倡倉"
倳俺倹倰倗倕倢倝倥俱個倓倠們倢倃倒倥倸倚値倊倉倢倇倥 倱倕倠倌倸倢倉倇倢俷們倧倝俲倝俷倰俲倢 俸倡倚們値倉俱倷俸倡倄俱倢倓俱倣倛倉倄俴倸倢 Git 倚倓倹倢俷俴倕倡俷倰俱倷倊倲俴倹倄 (repository) 倱倕倠倝倡個倲倛倕倄倲俴倹倄俸倉倰倚倓倷俸
俴倕倡俷倰俱倷倊倲俴倹倄倳倛們倸個倓倢俱俿俲倦倹倉倊倉倛倉倹倢倲倞們倰倎俸 GitHub 俲倝俷倰俲倢 俺倧倸倝倗倸倢 "web-scraper" 倄倹倢倉倕倸倢俷俴倧倝俻倝倓值倚倲俴倹倄倚倣倛倓倡倊 scraper.py 倓倗們倆倦俷 README.md 俻倦倸俷倰個倷倉倴倏倕值倰倝俱倚倢倓倇倥倸俸倡倚們値倉倳倛倹倰俲倢倰俲倥倒倉
們倡倉倱倉倠倉倣倏倥倰俸倝倓值俲倝俷倰俴倓倧倸倝俷們倧倝 倗値倈倥俱倢倓倅値倄倅倡倹俷 倱倕倠倅倡倗倝倒倸倢俷俱倢倓倳俺倹俷倢倉 們倡倉倆倩俱倰俲倥倒倉倝倝俱們倢倴倄倹俴倸倝倉俲倹倢俷倄倥倰倕倒倇倥倰倄倥倒倗
"倅倝倉倉倥倹倚値倸俷倉倥倹倚倢倈倢倓倃倠倱倕倹倗 倱倅倸個倡俽倛倢俴倧倝倴們倸們倥倳俴倓倓倩倹倗倸倢們倡倉們倥倝倒倩倸"
"俱倸倝倉倝倧倸倉倰倕倒 個倓倠倲倒俺倉值俲倝俷俱倢倓倇倥倸們倡倉倰個倷倉倚倢倈倢倓倃倠俴倧倝倝倠倴倓?"
"們倡倉倚倢們倢倓倆俺倸倗倒俹倡倉倒倧倉倒倡倉俴倗倢們倚倢們倢倓倆俲倝俷俹倡倉倴倄倹 倰倓倢倅倹倝俷倱俺倓值們倡倉 倴個俴倹倉倛倢倳倉 Google 俱倡倉倰倆倝倠"
倰俹値倉倝倥倹倛倓倢倉俴値倄倝倒倩倸俴倓倩倸倛倉倦倸俷倱倕倹倗倎値們倎值 "where to share open source projects" 倕俷倳倉 Google
倌倕倕倡倎倈值個倓倢俱俿俲倦倹倉 Reddit 倳倉 r/programming, Stack Overflow, SourceForge, 倰倗倷倊倴俻倅值倇倥倸俺倧倸倝倗倸倢 Hacker News...
俸倡倚們値倉們倝俷倄倩倝倒倩倸倴們倸俱倥倸倗値倉倢倇倥
"倝倡倉倇倥倸倚倥倸... 倰個値倄們倡倉倱倕倹倗倕倝俷倄倩"
倰俹値倉倝倥倹倛倓倢倉俴倕値俱倰俲倹倢倴個
們倡倉倰個倷倉倛倉倹倢倰倗倷倊倇倥倸倛倒倢倊們倢俱 們倥倎倧倹倉倛倕倡俷倚倥俲倢倗倱倕倠俲倹倝俴倗倢們倚倥倰倇倢 們倥倛倡倗俲倹倝倱倕倠倕値俷俱值俸倣倉倗倉們倢俱俸倡倄倰倓倥倒俷倓倗們俱倡倉 倇倢俷俻倹倢倒俲倝俷倱倅倸倕倠倛倡倗俲倹倝們倥倕倩俱倘倓俺倥倹俲倦倹倉倱倕倠倅倡倗倰倕俲 倱倕倠倇倥倸倄倹倢倉倊倉倚倨倄倰俲倥倒倉倗倸倢 "Hacker News"
"倱倊倊倉倥倹俸倠倴倄倹倌倕倰倛倓倝? 們倡倉倄倩倛倒倢倊倰俱値倉倴個 倛倓倧倝倗倸倢 Reddit 倄倥俱倗倸倢? 倏倝倓倡們倉倡倹倉倴倄倹倓倡倊俴倗倢們倉値倒們們倢俱倉倠"
"倉倥倸俴倧倝俺倨們俺倉倲個倓倱俱倓們倰們倝倓值倲倄倒倰俹倎倢倠 們倡倉們倥俴倗倢們倰個倷倉們倧倝倝倢俺倥倎們倢俱俱倗倸倢 倕俷倇倠倰倊倥倒倉倊倡俽俺倥倱倕倹倗倕倝俷倄倩倰倆倝倠"
俱倢倓倕俷倇倠倰倊倥倒倉倉倡倹倉俷倸倢倒倄倢倒 倅倹倝俷俱倢倓倰倎倥倒俷俺倧倸倝倌倩倹倳俺倹倱倕倠倓倛倡倚倌倸倢倉倰倇倸倢倉倡倹倉
倛倕倡俷俸倢俱倕俷倇倠倰倊倥倒倉 俸倡倚們値倉倳倛倹倰俲倢俴倕値俱倕値俷俱值 "Submit"
"倚倣倛倓倡倊倛倡倗俲倹倝 倰俲倥倒倉倗倸倢: 'Show HN: web-scraper – a simple and fast web scraper in Python.' 倳倉俺倸倝俷 URL 倄倹倢倉倕倸倢俷 倳倛倹倳倚倸倕値俷俱值倴個倒倡俷俴倕倡俷倰俱倷倊倲俴倹倄倊倉 GitHub"
倰俹値倉倝倥倹倛倓倢倉倎値們倎值倅倢們俴倣倚倡倸俷倱倕倠俱倄倚倸俷
倛倉倹倢倰倗倷倊倓倥倰倏倓俺 倱倕倠倲倎倚倅值俲倝俷倰俲倢俱倷個倓倢俱俿倳倉倓倢倒俱倢倓倲倎倚倅值倳倛們倸倊倉 Hacker News 倄倹倗倒俴倠倱倉倉 1 倱倕倠俲倹倢俷倶 倰俲倥倒倉倗倸倢 "0 points"
"倱俴倸倓倝倴個俱倸倝倉 倴個倇倣倝倠倴倓倇倥倸俴倨倃倅倹倝俷倇倣倰倆倝倠"
倰俹値倉倝倥倹倛倓倢倉個値倄 Safari 倱倕倠倰倝倉倛倕倡俷倎値俷倰俱倹倢倝倥倹
倰俲倢倰倛倕倧倝倊們倝俷倰倗倕倢 們倡倉倰個倷倉倰倗倕倢倚倥倸倇倨倸們倱倕倹倗 倅倡倹俷倱倅倸倊倸倢倒倲們俷俴倓倦倸俷俸倉倆倦俷倅倝倉倉倥倹 倰俹値倉倝倥倹倛倓倢倉倓倩倹倚倦俱倰倛們倧倝倉倰俲倢倇倣俷倢倉倛倉倡俱倝倒倸倢俷倅倸倝倰倉倧倸倝俷們倢倅倕倝倄
倉値倹倗俲倝俷倰俲倢個倗倄倰倕倷俱倉倹倝倒 倰倛們倧倝倉俱倡倊倗倸倢倰俲倢倰倎値倸俷倗値倸俷們倢倓倢倈倝倉們倢倇倡倹俷倗倡倉倱倅倸俲倢俲倝俷倰俲倢俱倕倡倊個俱倅値倄倥 倳倉俲倃倠倇倥倸倚們倝俷俲倝俷倰俲倢倓倩倹倚倦俱倰倛們倧倝倉俱倣倕倡俷俸倠倓倠倰倊値倄
"倎倝倱俴倸倉倥倹倚倣倛倓倡倊倗倡倉倉倥倹 俴倨倃倅倹倝俷倎倡俱倌倸倝倉個倓倠們倢倃倱個倄倆倦俷倰俱倹倢俺倡倸倗倲們俷"
"俴倨倃俴倸倝倉俲倹倢俷倰個倷倉倛倸倗俷俹倡倉倉倠倰倉倥倸倒"
"俹倡倉倅倹倝俷俱倢倓倳倛倹倚們倝俷俲倝俷俴倨倃倝倒倩倸倳倉倚倐倢倎倇倥倸倰倛們倢倠倚們倇倥倸倚倨倄 俱倢倓倎倡俱倌倸倝倉倰個倷倉倚倸倗倉倛倉倦倸俷俲倝俷俱倢倓倊倣倓倨俷倓倡俱候倢"
"俱倷倴倄倹倶 俴倓倡倊 倇倸倢倉倝倢俸倢倓倒值俸倡倚們値倉倌倩倹倇倓俷倎倕倡俷"
倰俹値倉倝倥倹倛倓倢倉倒倡俷俴俷倅倧倸倉倰倅倹倉倝倒倩倸倴們倸倉倹倝倒 倝倒倸倢俷倴倓俱倷倅倢們 倗倡倉倉倥倹個倓倠倚値倇倈値倐倢倎俲倝俷俸倡倚們値倉倇倣倳倛倹倰俲倢倓倩倹倚倦俱倰倛們倧倝倉們倥倉値倹倗倇倝俷俴倣俸倓値俷倶
倰俹値倉倝倥倹倛倓倢倉倊倡俷俴倡倊倅倡倗倰倝俷倳倛倹倴個倛倹倝俷倉倹倣倱倕倠倝倢倊倉倹倣 倲倄倒個倓倡倊倝倨倃倛倐倩們値倉倹倣倳倛倹倰倒倷倉 倱倕倠倓倩倹倚倦俱倗倸倢倚們倝俷俲倝俷倰俲倢倓倩倹倚倦俱倚倊倢倒俲倦倹倉們倢俱
倰俲倢俱倕倡倊倴個倇倥倸倛倹倝俷倉倝倉 倕倹們倅倡倗倕俷倉倝倉倊倉倰倅倥倒俷 倱倕倠倇倡倉倇倥倇倥倸倰俲倢倝倒倢俱俸倠倉倝倉倛倕倡倊 倰俲倢俱倷倝倄倴們倸倴倄倹倇倥倸俸倠倄倦俷俴倝們倎値倗倰倅倝倓值們倢倰倎倧倸倝倅倓倗俸倚倝倊倰倗倷倊倴俻倅值倚倝俷倚倢們倱倛倸俷
俴倕倡俷倰俱倷倊倲俴倹倄倊倉 GitHub 們倥 0 倄倢倗 倲倎倚倅值倳倉 Hacker News 們倥 0 俴倠倱倉倉
倴們倸們倥倝倠倴倓倰倕倒 們倡倉倰倛們倧倝倉俱倡倊俱倢倓俲倗倹倢俷俱倹倝倉俱倓倗倄倕俷倴個倳倉們倛倢倚們倨倇倓
倱們倹倰俲倢俸倠倴們倸倴倄倹俴倢倄倛倗倡俷倗倸倢俸倠倴倄倹倓倡倊俴倗倢們倚倉倳俸倇倡倉倇倥倛倕倡俷俸倢俱倰倌倒倱倎倓倸 倱倅倸倰俹値倉倝倥倹倛倓倢倉俱倷倒倡俷倓倩倹倚倦俱倌値倄倛倗倡俷倰倕倷俱倉倹倝倒
們倡倉倰倛們倧倝倉俱倡倊俱倢倓倅倥倎値們倎值倉値倒倢倒倳倉 Tomato Novel 倇倥倸倰倎値倸俷倰俲倥倒倉倴個倴倄倹倚倝俷倛們倧倸倉俴倣 俴倨倃倴們倸倓倩倹倰倕倒倗倸倢倝倉倢俴倅俸倠倰個倷倉倝倒倸倢俷倴倓
俺倸倢俷倰倆倝倠 倝倠倴倓倇倥倸倇倣倴個倱倕倹倗俱倷倇倣倴個倱倕倹倗 倴個倉倝倉俱倸倝倉倄倥俱倗倸倢
倰倎倥倒俷倰倇倸倢倉倥倹 俱倕倢俷倄倦俱俱倷們倢倆倦俷 倱倕倠倰倛倕倸倢俴倉倉倝倉倄倦俱倛倕倢倒俴倉俱倷倕倨俱俸倢俱倰倅倥倒俷 俴倗倢們倎倒倢倒倢們俴倓倡倹俷倱倓俱俲倝俷俸倡倚們値倉倇倣倳倛倹 Hacker News 倅俱倅倠倕倦俷倳倉倇倥倸倚倨倄