kong0107 / facebook-backup-tool Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://kong0107.github.io/facebook-backup/
Home Page: https://kong0107.github.io/facebook-backup/
回應可能涉及他人隱私與回復者的著作權、被遺忘權,因此未必適合公開。
而且把回應分別讀取應該也有利於減少讀取時間…
An element should be removed only after all of what it would do is all finished,
so while(array_pop($stack))
is not a good idea.
Maybe combined with #27.
假設使用者看得到某篇非公開文章,而該文章的連結被貼在某篇公開文章的回應中,那麼抓取該回應時,會不會因為使用者有權限看得到,而「不小心」預覽了非公開文章?
私人備份時無妨,但備份後若有公開需求則須留意。
Figure out a way to run codes only after both of them are ready.
index.php
and dt/template.html
have not guaranteed main
run after FB.apiwt
is defined.
See Facebook Docs.
Not only pages and posts, but also comments and their comments.
Also add permission selection.
Official reference
added but don't know what to display...
For example, photo node 365599393597218 seems to be a PNG instead of JPEG. But such information is lost for index.html
to render the full filename to show the downloaded photo.
And prepare for video files....
While running a update crawling, we shall skip re-crawl the comments of one node if the updated_time
of the node hasn't being changed.
利於顯示活動和社團的密集發文。
只要把 filter
改成 limitTo
即可,也不影響 search
的運作,應該不難。
May not be so important, and notice that public groups usually have much more messages and spams, which cost memory and time.
related with #15.
Add some fields such as last_crawled_time
, status
(for deleted nodes), and _id
, in order to keep crawled data as raw as possible.
例如把 message
中的文字用 message_tags
來加上連結。
函數已經寫好了,是 js/utility.js
的 combine_tags
,問題是如何在 AngularJS 中使用。
For example,
1494066394244026_1538635866453745 (node type "post") and 1538635866453745 (node type "video") are sharing the equivalent set of comments (but with different order), so we don't have to crawl them both.
But what about output?
Maybe to "/metadata/v2.5.json" or other meaningful path.
Deprecate window.fbAsyncInit
Use display: table-cell;
of CSS to implement single-line term-description pair instead.
It's so sad that only DT and DD are allowed in DL.
Two possible solutions:
Cons: Not easy for machines to know they are actually one list, which means the terms have some same properties.
<div style="display: table;">
<dl style="display: table-row;">
<dt style="display: table-cell;">term</dt>
<dd style="display: table-cell;">description</dd>
</dl>
<dl style="display: table-row;">
<dt style="display: table-cell;">longer term</dt>
<dd style="display: table-cell;">description</dd>
</dl>
</div>
DL
has its style display: table-row
is for a table-like display. Otherwise the DT
s of different DL
would have different widths.
A wrapper is needed to separate the content from other list (if exists).
Just like the above, but change the wrapper to UL
, DL
to LI
, DT
and DD
to DIV
(or other wrapper).
Pros: You can see them as a list still.
Cons: Not easy for machines to know the term-description relation. (I think this is much more terrible than the other solution, but Facebook use this.)
持續抓取時,若要新增另一個要抓的東西進入排程(這個「新增」似乎用 queue的概念較妥),不宜影響 crawler.php
的 sleep 狀態,所以「把要抓的東西放進 session 」這件事應該放在另一個頁面。
這樣主頁面持續讀取 crawler.php
就好。
新頁面也許可叫做 queueAppend.php
。
硬碟容量反而不是考量重點,而是如何決定儲存路徑。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.