Clean Web Clipper Thêm vào Chrome (miễn phí)

Dành cho ai

Bảng còn nguyên khi chuyển sang Markdown

Các bộ chuyển đổi HTML sang Markdown thông thường hỏng đúng ở những bảng quan trọng: bảng có danh sách, liên kết hoặc đoạn mã mẫu trong ô. Clean Web Clipper tự chuyển đổi bảng và trải phẳng nội dung ô thay vì làm rơi cả hàng.

Các con số biến mất ở đâu

Bảng là lý do bạn lưu trang: các gói giá, giới hạn tốc độ, thời hạn lưu trữ, một lược đồ dữ liệu. Bạn dán bản trích vào ghi chú và thấy một hàng trải dài cả trang, dấu gạch đứng sai chỗ, và một cột lặng lẽ nhập vào cột bên cạnh. Các con số vẫn còn trên màn hình trình duyệt sau lưng bạn, nên lỗi rất dễ bị bỏ qua, cho tới khi thẻ bị đóng.

Lỗi ngược lại cũng tốn đúng một buổi chiều. Rất nhiều trang vẫn dùng table chỉ để dàn trang, và một bộ chuyển đổi coi mọi bảng như vậy là dữ liệu sẽ đưa bạn hai mươi hàng điều hướng khoác áo bộ dữ liệu. Một kết cục là ngồi gõ lại số, kết cục kia là ngồi xóa lưới, và cả hai đều không phải việc phân tích bạn định làm.

Gõ lại còn có cái giá thứ ba lộ ra rất lâu sau. Một con số gõ tay vào bảng tính không mang nguồn, không ngày và không cách nào kiểm tra – sáu tuần sau, không ai nói được thời hạn lưu trữ ở ô D14 được đọc từ trang vào tháng Một hay tháng Ba, và trang đã bị sửa hai lần từ đó. Giá, giới hạn tốc độ và hạn mức thay đổi mà không có thông báo. Một bảng đã chụp kèm URL nguồn và ngày trang khai báo ở trên trả lời được câu hỏi đó, và trả lời lại vào quý sau khi bạn chụp cùng trang và diff hai bản.

Những gì còn nguyên vẹn

Bảng có mã trong mọi ô, vẫn nguyên vẹnsqlite.org/datatype3.html
| Storage class | Meaning                                                |
| ------------- | ------------------------------------------------------ |
| `NULL`        | The value is a NULL value.                              |
| `INTEGER`     | A signed integer, stored in 1, 2, 3, 4, 6 or 8 bytes.   |
| `REAL`        | A floating point value, stored as an 8-byte IEEE number.|
| `TEXT`        | A text string, stored using UTF-8, UTF-16BE or UTF-16LE.|
| `BLOB`        | A blob of data, stored exactly as it was input.         |

Thiết lập cho bảng

Hai cài đặt và một thói quen. Thói quen cuộn trang trước khi trích xuất lấy lại được nhiều hàng hơn bất kỳ cài đặt nào.

  1. Mở Tùy chọn từ biểu tượng tiện ích và trỏ nơi lưu vào thư mục chứa dữ liệu làm việc – data/sources cạnh notebook hoặc bảng tính dùng tới nó.
  2. Để cú nhấp vào biểu tượng mở cửa sổ xem trước. Bảng là thứ duy nhất đáng xem trước khi lưu – các cột có thẳng hàng hay không thì nhìn một lần là thấy, còn trong danh sách tệp thì không thấy được.
  3. Đặt mẫu tên tệp là {date}-{domain}-{title}, để cùng một trang giá chụp vào tháng Một và tháng Tư là hai tệp nằm cạnh nhau khi sắp xếp.
  4. Bật sourcedate trong frontmatter. Một bảng không có địa chỉ nguồn là một bộ số mà sớm muộn ai đó sẽ phải tính lại.
  5. Trước khi trích xuất, hãy cuộn xuống cuối bảng. Các hàng tải khi cuộn không tồn tại trong DOM cho tới khi được tải, và tiện ích đọc DOM vào lúc bạn trích xuất.
  6. Khi bài viết xung quanh không liên quan, hãy chọn bảng trên trang và trích xuất phần đã chọn. Công tắc ở đầu cửa sổ xác nhận bạn đang xem phần đã chọn chứ không phải cả trang.
  7. Đặt lịch chụp định kỳ cho những trang có số liệu thay đổi: hạn mức, giá, thời hạn lưu trữ. Giá trị của bộ dữ liệu nằm ở lần chụp thứ hai, không phải lần đầu.

Cài đặt cho số liệu bạn sẽ dùng lại

Mục đích của mọi giá trị dưới đây là một bảng được đọc sáu tháng sau vẫn cho biết nó từ đâu tới và từ khi nào.

Cài đặtGiá trịVì sao chọn giá trị này
Cú nhấp vào biểu tượngCửa sổ xem trướcMột cột lệch nhìn là thấy ngay, còn trong danh sách tệp thì vô hình
Nơi lưuThư mục `data/sources`Giữ các bản chụp cạnh notebook hoặc bảng tính dùng tới chúng
Mẫu tên tệp`{date}-{domain}-{title}`Các bản chụp hằng quý của một trang nằm cạnh nhau và không bao giờ trùng tên
FrontmatterBật `source` và `date`Hai dòng biến một bộ số trở lại thành một dữ kiện trích dẫn được
Hình ảnhBỏ quaBiểu đồ đằng nào cũng tới dưới dạng liên kết hình; tiện ích không đọc số từ một bức ảnh
Phần đã chọnChọn bảng, trích xuất phần đã chọnMột bài viết mười hai màn hình quanh một bảng bốn hàng là nhiễu trong thư mục dữ liệu
Chụp lặp lạiTrích xuất cùng trang mỗi quýHậu tố số giữ cả hai, và bản diff chính là phân tích
Bảng hai cột lộn xộn thành các dòng khóa và giá trịmột trang đặc tả có lưới định nghĩa
**Content-Type**
: The media type of the resource. Required on every request with a body.

**Cache-Control**
: Directives for caching mechanisms in both requests and responses.

**Retry-After**
: Either a delay in seconds or an HTTP-date after which to retry.

The source grid had merged header cells and a nested list in the last row.
Reproduced as a Markdown table it would have broken; as pairs it does not.

Ba bảng, ba kết quả

Bảng giá vào bảng so sánh

Bốn nhà cung cấp, bốn trang giá, bốn lần chụp. Mỗi bảng được chuyển thành bảng GFM với tên gói, số tiền và giới hạn nằm đúng ô cũ, cùng URL nguồn phía trên, nên bảng so sánh được lập mà không phải gõ lại một con số nào.

Đây là chỗ bộ chuyển đổi chứng tỏ giá trị – những ô làm hỏng bộ chuyển đổi chung là ô có dấu chú thích, danh sách tính năng đi kèm hoặc đoạn mã mẫu bên trong. Trên bộ mẫu kỹ thuật mười lăm bảng, mười hai bảng giữ được ở đây so với bảy của mỗi công cụ được so sánh.

Cùng một trang, cách nhau một quý

Bạn đã chụp giới hạn tốc độ của một nhà cung cấp vào tháng Hai và lại chụp vào tháng Năm. Tệp thứ hai được thêm hậu tố số. Bản diff cho thấy mức burst của gói khởi đầu giảm một nửa và thời hạn lưu trữ của gói cao nhất được kéo dài – không thay đổi nào được thông báo ở bất cứ đâu.

Không có tệp tháng Hai thì thay đổi không chứng minh được, vì trang chỉ hiển thị trạng thái hiện tại và các con số trước đó không còn ở đâu mà nhà cung cấp công bố. Toàn bộ phương pháp phụ thuộc vào việc lần chụp đầu đủ rẻ để làm trước khi bạn biết nó quan trọng.

Một lưới không thể là bảng

Một trang đặc tả định nghĩa hai mươi header trong lưới hai cột, với ô tiêu đề gộp và một danh sách lồng trong một hàng. Tái tạo thành bảng Markdown thì nó sẽ sụp; thay vào đó nó được chuyển thành các dòng khóa in đậm với giá trị bên dưới, không mất gì cho việc đọc lẫn tìm kiếm.

Hành vi đó là có chủ ý chứ không phải một lần thất bại dự phòng. Bảng hai cột lộn xộn thường là danh sách định nghĩa khoác áo lưới hơn là dữ liệu, và một bảng gạch đứng bị vỡ khó sửa hơn nhiều so với đọc một danh sách.

So với các cách thường dùng để chuyển bảng

Cách nào dưới đây cũng lấy được số ra khỏi trang. Chúng khác nhau ở những gì đi kèm với con số và những gì bạn phải làm sau đó.

Cách đang làmBạn nhận được gìCái giá phải trả
Gõ lại vào bảng tínhĐúng những ô bạn cầnLỗi chép tay, và không có ghi nhận nguồn hay ngày
Sao chép và dán vào bảng tínhThường là lưới, đôi khiHỏng với ô có danh sách hoặc mã; lưới dàn trang bị coi là dữ liệu
Chụp màn hình bảngBảng như lúc hiển thịKhông tính toán được, không tìm kiếm được, không có dòng nguồn
Chức năng xuất CSV của chính trangDữ liệu sạch, khi cóPhần lớn trang không có, và bản xuất đôi khi khác với những gì hiển thị
Bộ chuyển đổi HTML sang Markdown thông thườngMarkdown, nhanhÔ có danh sách hoặc khối mã là chỗ bộ chuyển đổi chung hỏng
Clean Web ClipperBảng GFM kèm nguồn và ngày phía trênKhông ô gộp, không xuất CSV, và không đọc số từ ảnh biểu đồ

Khi bảng ra không đúng

Các ô gộp biến mất

Markdown không có ô gộp, nên colspanrowspan bị trải phẳng – nội dung được giữ, còn hiệu ứng gộp thì không, vì định dạng không biểu diễn được. Khi một tiêu đề gộp trải qua ba cột, chữ nằm ở cột đầu tiên. Đây là đặc tính của định dạng đích chứ không phải của việc chuyển đổi, và không bảng Markdown nào ở đâu biểu diễn được điều đó.

Mất một nửa số hàng

Tiện ích đọc DOM vào đúng lúc bạn trích xuất, nên các hàng trang tải khi cuộn (hoặc hiện qua nút “xem thêm”, hoặc chia trang) chưa tồn tại nếu bạn chưa khiến chúng xuất hiện. Hãy cuộn xuống cuối, mở rộng những gì mở rộng được, rồi trích xuất. Với bảng chia trang, hãy trích xuất từng trang – các phần có thể ghép lại sau, và không gì khác khôi phục được những hàng trình duyệt chưa bao giờ nhận.

Tôi nhận được một lưới điều hướng thay vì dữ liệu

Đó là bảng dàn trang: lưới chỉ dùng để định vị, thứ nhiều trang cũ vẫn dùng cho menu và phần đầu. Chúng được gỡ vỏ thay vì chuyển đổi, nên nội dung đi qua mà không kèm lưới. Nếu một lưới điều hướng vẫn vào ghi chú dưới dạng bảng, đó là vì trang đánh dấu nó là bảng dữ liệu – mã đánh dấu nói “dữ liệu” và tiện ích tin điều đó.

Bảng ra thành các dòng khóa và giá trị

Đó là đường xử lý bảng hai cột lộn xộn. Bảng hai cột có các hàng không đều thường là danh sách định nghĩa vẽ thành lưới, và tái tạo nó thành bảng gạch đứng sẽ cho ra một lưới vỡ chứ không phải thứ đọc được. Nội dung đầy đủ: khóa in đậm, giá trị bên dưới, theo thứ tự gốc. Nếu bạn cần nó thành bảng thật, các cặp có thể chuyển ngược lại một cách máy móc.

Định dạng chịu thua ở đâu

Markdown không có ô gộp, nên colspanrowspan bị trải phẳng – nội dung được giữ, còn hiệu ứng gộp ô thì không, vì định dạng không biểu diễn được. Bảng lồng trong một ô là trường hợp khó với mọi công cụ và công cụ này không ngoại lệ. Nó không đọc số từ ảnh biểu đồ, và không xuất CSV hay XLSX. Kết quả là Markdown. Và nó chuyển đổi mỗi lần một trang – đúng trang bạn đang mở.

Thêm vào Chrome (miễn phí)Miễn phí hoàn toàn. Không cần tài khoản, không cần đăng ký, không giới hạn.

Câu hỏi

Bảng chỉ dùng để dàn trang thì sao?
Nó được gỡ vỏ. Tái tạo một lưới định vị thành bảng Markdown chỉ tạo ra nhiễu, nên nội dung được giữ còn lưới thì không.
Có hỗ trợ ô gộp không?
Markdown không có ô gộp, nên chúng bị trải phẳng. Nội dung được giữ; hiệu ứng gộp thì không, vì định dạng không biểu diễn được.
Tôi có chỉ trích xuất bảng được không?
Được: chọn nó trên trang và trích xuất phần đã chọn. Công tắc ở đầu cửa sổ cho biết bạn đang xem phần đã chọn hay cả trang.
Tôi có lấy được CSV từ nó không?
Không. Kết quả là Markdown. Bảng GFM dán được vào phần lớn công cụ bảng tính và notebook, nhưng không có chức năng xuất CSV hay XLSX.
Còn bảng tải thêm hàng khi cuộn thì sao?
Tiện ích đọc DOM vào lúc bạn trích xuất, nên chỉ những hàng trang đã thật sự hiển thị mới được chụp. Hãy cuộn để tải phần còn lại trước.
Nó có đọc số từ biểu đồ không?
Không. Biểu đồ là hình ảnh hoặc canvas, và tiện ích không xử lý hình ảnh dưới bất kỳ hình thức nào. Khi trang công bố số liệu gốc thành bảng bên dưới biểu đồ – nhiều cơ quan thống kê làm vậy – bảng đó được trích xuất bình thường.
Tệp có ghi lại số liệu có hiệu lực vào lúc nào không?
Nó ghi lại những gì trang khai báo: ngày đăng vào frontmatter, và ngày bạn chụp có thể vào tên tệp qua {date}. Khi trang không khai báo ngày, trường để trống thay vì được điền, ít nhất đó là một khoảng trống trung thực chứ không phải một con số sai.
Nó có trích xuất bảng trong dashboard nhúng được không?
Không. Nội dung hiển thị trong trình xem nhúng hay widget dashboard thuộc về một tài liệu riêng nằm trong trang, và trích xuất trang bao quanh không chạm được vào bên trong. Nếu công cụ đó có chức năng xuất riêng hoặc chế độ xem toàn trang, hãy dùng chúng.
Định dạng cột có được giữ không?
Thứ tự cột, hàng tiêu đề và nội dung ô thì có. Màu, tô nền, độ rộng ô và độ đậm của chữ thì không, vì bảng Markdown không có cách mang chúng. Ô in đậm trong nguồn giữ chữ đậm; ô chỉ được tô màu thì không giữ màu.
Nếu một bảng lồng trong một bảng khác thì sao?
Đó là trường hợp khó với mọi công cụ và công cụ này không ngoại lệ – nội dung bảng bên trong được trải phẳng vào ô chứa nó. Nội dung được giữ, nhưng dưới dạng văn bản chứ không phải lưới, và một bố cục lồng nhau phức tạp đáng được kiểm tra bằng mắt trước khi bạn dựa vào.