天天看點

我自己開發的工具,列印出百度貼吧某使用者發表過的所有文章

</div><div data-lake-id="79b1f93fb3ee7f9d4c75a64140a18c83">a {</div><div data-lake-id="2ea4c074555cb51191bf948ff2b78802"> color: green;</div><div data-lake-id="ce6cc176fb9cc6045d21a51cf2070a5d"> font-family: arial;</div><div data-lake-id="5211cf09442151ee16b91a50dbbf0cb4"> font-weight: bold</div><div data-lake-id="feef7e1fc231393c3fcfa14c34e18aae">}</div><div data-lake-id="f7f83c9f51d750431324b612c2d6199b">

</div><div data-lake-id="91aa3419a453b08799929d5882e3ba08">/* Jerry 2017-02-06 14:58PM update</div><div data-lake-id="ef09946cadd18edf3e819f9165990883"> should use C:\MyApp\Chrome\Application\chrome.exe --user-data-dir="C:/yaas" --disable-web-security</div><div data-lake-id="567cc7f8c34d4344e7328de4c00e949d"> and then FIRST LOG ON BAIDU successfully!!!!</div><div data-lake-id="e49acdee4fc30e6b147e17b554273a5d">*/</div><div data-lake-id="a582015f01c9f7f37b1e349fb1c10e85">

</div><div data-lake-id="77e315f7849f3c5b609cebcd2cb8fb07">/* Jerry 2017-02-05 5:54PM</div><div data-lake-id="4b84fc80f799abaae97baccb3d6caa59">這個警告的意思是說:請求的資源可能會被(擴充/或其他什麼機制)屏蔽掉。</div><div data-lake-id="92ec84c90365e1dbeb626ca336a8fb1a">之是以會出現這個警告,是因為去擷取該資源的請求其實并(還)沒有真的發生,是以 Header 裡顯示的是僞資訊,直到伺服器真的有響應傳回,這裡的 Header 資訊才會被更新為真實的。不過這一切也可能不會發生,因為該請求可能會被屏蔽。比如說 AdBlock 什麼的,當然了不全是浏覽器擴充,具體情況具體分析了。</div><div data-lake-id="bc7d5ba8247b21ec88e1889ff955ea7c">對了,别忘了用 chrome://net-internals 來幫助你查找被屏蔽的請求以及可能的原因。</div><div data-lake-id="61272757a2d3fa17a2b05b4ad46b8c36">*/</div><div data-lake-id="b632de08bbea10ae25908adbee1d150d">var PREFIX = "http://tieba.baidu.com";</div><div data-lake-id="92df9b49b88b64b7cf72da7e44c96e20">var START = "http://tieba.baidu.com/i/i/my_tie";</div><div data-lake-id="068b6c9cf390d3135d473a1b926a9ae6">//var START = "http://www.baidu.com";</div><div data-lake-id="2610a8142427625588efc6d50699cfe1">var POST = {};</div><div data-lake-id="199c0907a559650a949256d1af2c3b30">var TOTAL = 0;</div><div data-lake-id="8d43afbd01cb24e5599b5995d4e739be">var SORTED = [];</div><div data-lake-id="2c4bf003c3435689113762045de1c2ad">function getTotalCount(collection){</div><div data-lake-id="a5bf237c806eca4916f5ceb2a9de1b1c"> var count = 0;</div><div data-lake-id="f837094ee550636478921909b00f39d9"> for( bar in collection){</div><div data-lake-id="99a93df9ddb870c91c199244b7d8d23d">  if( !collection.hasOwnProperty(bar))</div><div data-lake-id="91663bb77a9c1fe9372306cd170b12d1">   continue;</div><div data-lake-id="645e4d708286038153ba60658fe5871d">  var postList = collection[bar];</div><div data-lake-id="d904dba2ed7ca11975c8443b280d137b">  count += postList.length;</div><div data-lake-id="45a28c436077cab7d232c88357fd4f31"> }</div><div data-lake-id="e3528a650e69ed07d7d754063fe75bc6"> return count;</div><div data-lake-id="66b836eda97b49213e1fa3250cb62d65">}</div><div data-lake-id="f21a7e78605294a4cb6f5958dc53913f">function shouldEnd(previousCount) {</div><div data-lake-id="e9513c022125cfdcb5c0bb7343c32720"> TOTAL = getTotalCount(POST);</div><div data-lake-id="4e71b74d457f9b3a681232063d289993"> console.log("pre: " + previousCount + " total: " + TOTAL);</div><div data-lake-id="a6e91edd05c4eb99190f78385e16fc83"> return ( previousCount == TOTAL );</div><div data-lake-id="d4e338d610a722709f1f2d1eea4128f7">}</div><div data-lake-id="58e308ce619286a157933517b4eda333">function main() {</div><div data-lake-id="a9a833959dbb76d9f3a620b4fd8db73b"> var html = getPostByAJAX(START);</div><div data-lake-id="f10bde557297f1a0621ecfa9524c6e19"> handleLiChildren(html);</div><div data-lake-id="b12779bcdeb8f6aca98e556213d1c4e0"> var page = 2;</div><div data-lake-id="8fb1db2347b817fd0fc429e7cb252967"> while(1){</div><div data-lake-id="3e97ef47c6507874114ccffbb1e4641c">  var prevCount = getTotalCount(POST);</div><div data-lake-id="c4a3a65e5e7f12c0e6be71beb46c210e">  var task = START + "?&pn=" + page;</div><div data-lake-id="72470b07af73aa0c438f55cb88493e49">  var html = getPostByAJAX(task);</div><div data-lake-id="a25514a4dc4ee7a5a8e126c90d8239d8">  handleLiChildren(html);</div><div data-lake-id="f9e9e8df6f125088a29e452835a5385a">  page++;</div><div data-lake-id="babf53b45742887a5b7e9dfc2002c9a9">  /*</div><div data-lake-id="17bf0606ab9828ab16a50d70634af210">  if( page >=2 )</div><div data-lake-id="0b3dcce704221336611c0dc5b5af9ed1">   break;*/</div><div data-lake-id="7b2d325ef1abeea6111ceb773ae1ba1f">  if( shouldEnd(prevCount) )</div><div data-lake-id="cdb0f3f9dae71fa86f09edb112350c17">   break;</div><div data-lake-id="68bfc3888c8bb0c845da1ba5d1a7ebd5"> }</div><div data-lake-id="54ccb3c56ce55723eedb175781fb2303"> sort();</div><div data-lake-id="279065653d7360c5a442d7038426df08"> generate();</div><div data-lake-id="e064a8e1ff487696229c769c443315cf">}</div><div data-lake-id="2ecfdf98cfe82b7e2fde12afe5c6b8c7">function handleLiChildren(resultString){</div><div data-lake-id="8159cdb525c5e47e503b11efc53d9163"> var htmlDom = $(resultString);</div><div data-lake-id="6e7245f2fae79993395be4569fab1174"> var liChildren = $("li", htmlDom);</div><div data-lake-id="f4e56d3a9df838f5aee4569e8113b4f4"> $.each( liChildren, function(i, value) {</div><div data-lake-id="1efcd71a88cf9311e61d6ca9c59c053a">  // if( value.className.indexOf("nav_item") != -1 )</div><div data-lake-id="8ff28370171ad345bf027de55167eb75">  if( value.className)</div><div data-lake-id="215c16b98976557913213a73d5cc24a5">   return true;</div><div data-lake-id="2823de4e4f91be54ddabf548c3a91e73">  if( value.innerText == "我回複的" || value.innerText == "我的精品")</div><div data-lake-id="296416b26f9b2718e4cf6bb7064ee25f">   return true;</div><div data-lake-id="27b37067527868d2da1080875ad2f37d">  var detail = parseDetail(value);</div><div data-lake-id="784fd4f7022c507b754fb72c9cbdb4f6">  insertPost(detail);</div><div data-lake-id="193c14d93016294933b0696dd8ed90e8"> });</div><div data-lake-id="6c661c5176384fd44cb4aa6901429fbc">}</div><div data-lake-id="532b578aa3bf910178c8d9d2f8d05f2a">/*</div><div data-lake-id="dbb6525bf4187f5e704983abf510f9fd"><ul></div><div data-lake-id="bda325cb723bd7b4cf3051c174d76319"> <li></div><div data-lake-id="facd4aa0989c7acf8e97afe26e23533c">  <cite>2016</cite></div><div data-lake-id="794b922c724bbf69698b428183654afc">   <a href="/f?kw=%E5%A4%A7%E9%82%91" >尿素氮</a></div><div data-lake-id="f3bfe28cfcf219aff956d2757880b8c2"> </li></div><div data-lake-id="a18809514d4b5c46cc2c362a1633a1b8"> <li></div><div data-lake-id="252a7f8647f69069d81dc763a385f9ac">  <cite>2015</cite></div><div data-lake-id="3b8a62027126d7e054e87d30707765fe">   <a href="/f?kw=%E5%A4%A7%E9%82%91" >尿素氮2</a></div><div data-lake-id="f83b9bd48ad5d0f1ed389c0c5315bcdb"> </li></div><div data-lake-id="aed89b47cc1295ceda5b5c247639bffe"></ul></div><div data-lake-id="e02562f3e2f2803d6fa2865888d8837e">*/</div><div data-lake-id="62dfd992b0629f6361c428d7a60594e0">function getpostSource(post) {</div><div data-lake-id="886f0dc05f40dff14c82b63763ee9909"> var source = "<li><cite>";</div><div data-lake-id="bc4e9c9b84e0469e67627230a8f6c309"> source += post.date + "/<cite>";</div><div data-lake-id="2b25fe94ad6dbd09d4f53054c1a4653f"> source += '<a href="' + post.url + '">' + post.postTitle + "</a></li>";</div><div data-lake-id="9c957af4f0e06dc98f17987f1aac34f2"> return source;  </div><div data-lake-id="0623f882d9504768b55021df5f830295">}</div><div data-lake-id="f26e5b8b071006956fcad8b652bd3656">function getBarPostsSource(barName, posts) {</div><div data-lake-id="1dff69b3ceeeb0f80aaaedc6a3f027c7"> var source = '<h1>' + barName + ': ' + posts.length + '個</h1>';</div><div data-lake-id="f2fade41133a8cb7eff8077e0d4f0836"> source += "<ul>";</div><div data-lake-id="a65ccbf8c73d413707d3bcfaf4bc3705"> for( var i = 0; i < posts.length; i++){</div><div data-lake-id="d8c3e8d569a7572d4c0161ea57928ddf">  var post = posts[i];</div><div data-lake-id="9d19638428111c9afd2d72ada8c059da">  source += getpostSource(post);</div><div data-lake-id="cbd7cd99e787ac802037740f79563019"> }</div><div data-lake-id="23a52185855a6ff1daf3b3012d8a6501"> source += "</ul>";</div><div data-lake-id="0a78a1e3ecc627ba2e85c6bfdd25b410"> return source;</div><div data-lake-id="0dbc3ecd4a2c3367b0d73f50f6977b65">}</div><div data-lake-id="e74d6d96e905295a83faf9d41cf7b13a">function sortNumber(a,b){</div><div data-lake-id="5aee33a14cc50d139d05c949fbfd1e51"> return b.size - a.size;  </div><div data-lake-id="d543fe4f3f35e2bdfbc60d3df649a6d5">}</div><div data-lake-id="9e3c3596ff2b8998bcaabf12a5140d7a">function sort() {</div><div data-lake-id="dbe9850d0419761b0f4d84b8a943350b"> for( barName in POST) {</div><div data-lake-id="0cd4eef0ff714ba8a73f57628daebaea">  if( !POST.hasOwnProperty(barName))</div><div data-lake-id="060dc43aee7b98e03b61e5275cd87d95">   continue;</div><div data-lake-id="3adb02162f50399e3bba88775372e06e">  var post = {</div><div data-lake-id="d1efbfc0ebd6e277c0f884fa2c33578e">   name: barName,</div><div data-lake-id="c390804492be9909e96e1694583e449f">   size: POST[barName].length</div><div data-lake-id="50ab6521d50efded0d19832397e99a98">  };</div><div data-lake-id="cf8adf4bbe543881c1cbd0f9f0d8edb4">  SORTED.push(post);</div><div data-lake-id="cf867cedf766bf39412c8f3e89dfd1e1"> }</div><div data-lake-id="b33d2b29a5cef6276e2e6629492f09c8"> SORTED.sort(sortNumber);</div><div data-lake-id="b2f9cad82a2092f513bb660deb5a6f9a">}</div><div data-lake-id="e9f8142b7697ca306c9426fd6e040db4">function generate(){</div><div data-lake-id="12fee9c52f22e1db309cca2661ba7b73"> var div = document.getElementById("container");</div><div data-lake-id="b74c27abf03b7887166f7a2721b96ccc"> var source = "總共文章: " + TOTAL + "個";</div><div data-lake-id="ebc7a2d229c744620f0d90fe13ac9c79"> for( var i = 0; i < SORTED.length; i++){</div><div data-lake-id="42406630ba1d877459d62b92c8d770b7">  var posts = POST[SORTED[i].name];</div><div data-lake-id="d4104250d0d9556444521adafae62e6b">  source += getBarPostsSource(SORTED[i].name, posts);</div><div data-lake-id="3887f0f5d68959a30eec0cbe3f6ed50e"> }</div><div data-lake-id="18cf1f6f3847a07aa45349897a5fdd31"> div.innerHTML = source;</div><div data-lake-id="c80e348c156bbd1f0535362f0bbeb574">}</div><div data-lake-id="ad386f07c47db760e807d2b8135ef939">$(function(){  </div><div data-lake-id="ec9c046e2e57b5a97ca6563dc11568c3"> main();</div><div data-lake-id="e833786a9e31c0e30cc6d4a7d2cb1bd1">});  </div><div data-lake-id="60e8ed92d32a9ca326f855223d77bf63">function getPostByAJAX(requestURL){</div><div data-lake-id="d21d22b6a6b07ca43fc42cc72d1f8414">   var html = $.ajax({</div><div data-lake-id="64a64fc731f818a3f94bc7f7dbcdf809">   url: requestURL,</div><div data-lake-id="b72658bde464f69f76cfd5d357cf5f6b">   xhrFields: {</div><div data-lake-id="2563348e83a7c37c00855b4a84703d97">    // The 'xhrFields' property sets additional fields on the XMLHttpRequest.</div><div data-lake-id="568e0f084bba15d700ea762c557b2263">    // This can be used to set the 'withCredentials' property.</div><div data-lake-id="cec6ecdfc78c6289aa89f41ec52feb74">    // Set the value to 'true' if you'd like to pass cookies to the server.</div><div data-lake-id="4cc2e56ce5a7f59856e3fdeb4097c542">    // If this is enabled, your server must respond with the header</div><div data-lake-id="fa2c68b9a1b11389432e252a4d74117b">    // 'Access-Control-Allow-Credentials: true'.</div><div data-lake-id="56ec621e4dfdf282acff852f924fb17e">    withCredentials: true</div><div data-lake-id="d97d2e65ff69bc3bb3cd6d47565362c6">  },</div><div data-lake-id="d35160393ec0db4b93db67a6345814db">   async: false}).responseText;  </div><div data-lake-id="65299f4d66c3552015096cab8bf5ddb9">   debugger;</div><div data-lake-id="f023aee7ccdc8046bc5ec85e7776dff9">   return html;</div><div data-lake-id="3f874ed011cc6d12b79741333902127b">}</div><div data-lake-id="4d380f1456dfd24625fed02ca5198f5b">/*</div><div data-lake-id="8094753992bf1362dbd599d2c451bb63">function getPostByAJAX(requestURL){</div><div data-lake-id="514749f5b404d0dc85c77cf67bd53a9d"> var settings = {</div><div data-lake-id="f96eaafee17e1f31a676dc2fd8ee364f">        type: "GET",</div><div data-lake-id="6f44b565bc53f820fc42509a90f1c4f0">        crossOrigin: true,</div><div data-lake-id="4011ef598a872f7a06b042207b1f82aa">        url:requestURL,</div><div data-lake-id="d292ca688585677ce8edc3fac34d98fa">        error: function(XHR,textStatus,errorThrown) {</div><div data-lake-id="b835a9c506b8856b1d32c02e37357fa9">            alert ("XHR="+XHR+"\ntextStatus="+textStatus+"\nerrorThrown=" + errorThrown);</div><div data-lake-id="f6d188e3994c938d4ab044d465d4789e">        },</div><div data-lake-id="39c78deb1208dc2017901b6c0e62d693">        success: function(data,textStatus) {</div><div data-lake-id="0f796c072bfd15e33e527e1d7add5889">            debugger;</div><div data-lake-id="b4e047878d6d1fdda3ba4ec2f43a556f">        },</div><div data-lake-id="64c22216024db412a15034104022aaed">        headers: {</div><div data-lake-id="917489b695bc2e20e5572d7cd924ee8a">            "Access-Control-Allow-Origin":"http://tieba.baidu.com",</div><div data-lake-id="22e58b654eea861e0556a7999bfd2faf">            "Access-Control-Allow-Headers":"X-Requested-With"</div><div data-lake-id="8c5c705f5db065fea8f2a01f7f372163">        }</div><div data-lake-id="3a6b50540c9981c2db30b89d3648bce1">    };</div><div data-lake-id="f6edcc9f6c9c4f9d7ee7d5662247fbfe">    $.ajax(settings);</div><div data-lake-id="4a20a18a6b947702b08a669157b0b4e9">}</div><div data-lake-id="69b263442385d288346e83bb09f3147d">*/</div><div data-lake-id="c52fcfa8c85e44f898bf2e5a653761df">/*</div><div data-lake-id="82dd739e8ff339dce9705118011f1e2e">function getPostByAJAX(requestURL){</div><div data-lake-id="fbc0473aa7f08f7c7551a2655820e319">   var html = $.ajax({</div><div data-lake-id="93b6ab48bdd578cbe85b37af75ef92de">   url: requestURL,</div><div data-lake-id="f94f3a4c53af7db63db57ef50f907f0e">   dataType:"jsonp",</div><div data-lake-id="000309051431514d63b1ba876c9ad277">   xhrFields: {</div><div data-lake-id="9fe2e3709acf489c8be99a1604d028a3">    // The 'xhrFields' property sets additional fields on the XMLHttpRequest.</div><div data-lake-id="78298fcfb44658aa0740d495de9bf2ea">    // This can be used to set the 'withCredentials' property.</div><div data-lake-id="38388c7ef272e42f6d86c1a51ec299c8">    // Set the value to 'true' if you'd like to pass cookies to the server.</div><div data-lake-id="59c70121d5fdd2f65cc0d68625eab0dd">    // If this is enabled, your server must respond with the header</div><div data-lake-id="32ba130dd8531ad41b52baa2c6cb6de0">    // 'Access-Control-Allow-Credentials: true'.</div><div data-lake-id="6ccfa2589f95aae1ff9a08b376fb1978">    withCredentials: true</div><div data-lake-id="fca7c9ec39a79f758e42bbca586f452e">  },</div><div data-lake-id="976a8d48ae83f6263e8890bdbcfe86b3">   async: false}).responseText;  </div><div data-lake-id="136007c089248f5d34bb7d5a358a0092">   return html;</div><div data-lake-id="1907eba079527cb2c954f1587c678ee3">}</div><div data-lake-id="a49cc8ddecd716bc0e5ae3c008163a89">*/</div><div data-lake-id="f91f229f51efa8d9aee4e85a3d9b6684">function insertPost(postDetail){</div><div data-lake-id="9f8e81a2c96bfefdb0274f849decc739"> if( !POST[postDetail.barName]){</div><div data-lake-id="71449699a9dde3b0523159815b8a8981">  POST[postDetail.barName] = [];</div><div data-lake-id="7bfe61058b2e91f86d160e720b4697ee"> }</div><div data-lake-id="04a485d3b39777f69a09acfde4ea455a"> POST[postDetail.barName].push(postDetail);</div><div data-lake-id="601035354ff01c05ce54182ca0836eff">}</div><div data-lake-id="374cb5fe52fde19ce65203128308441c">function parseDetail(liNode) {</div><div data-lake-id="b953ddd34499105a5ecfb8965eebced5"> var cite = $("cite", liNode);</div><div data-lake-id="c0055df3827654a124d51871680abca6"> var date = cite[0].innerHTML; // value1</div><div data-lake-id="725cd5bfdc8ccdf94288e92385f7bf41"> var tds = $("td", liNode);</div><div data-lake-id="9c77e2c2722fe0cb7e4de278594f75c5"> var a1 = $("a", tds[0]);</div><div data-lake-id="8240108478ed31debf1e09973c4ca4d8"> var barName = a1[0].innerHTML; // value2</div><div data-lake-id="61a11168c427077dfc288d60078ff35b"> var a2 = $("a", tds[1]);</div><div data-lake-id="986e7971c50f7b492a479d9ad0b06b2e"> var postTitle = a2[0].innerHTML; // value3</div><div data-lake-id="ccd22f663e684a29b526f229cab34e41"> var url = PREFIX + a2.attr("href");</div><div data-lake-id="77c9045088aa572a7235012349c56828"> return {</div><div data-lake-id="0efdce272bce41661e860bcbea039723">  date: date,</div><div data-lake-id="d23c0ca9259b322402cae70c56864bcd">  barName: barName,</div><div data-lake-id="6f842478b8a34a956f986f0b1fbdf537">  postTitle: postTitle,</div><div data-lake-id="71f7a2d89e39ecdbdcb74ba85346e704">  url: url</div><div data-lake-id="c09ffa4bf3b81eb5c7e759dc663b2261"> }</div><div data-lake-id="dbf1eef936f44e2999efb77bdd1bc341">}</div><div data-lake-id="84fcb10fa1dbcce6baf74404174d0deb">function getTestData(){</div><div data-lake-id="10ede8ced4b3fb27118c79479f89b506"> return '<!DOCTYPE html><html><body><div class="wrap1"><div class="wrap2"><div ' +  </div><div data-lake-id="9518215e8a5f4a6712f0b2249b485e5c"> ' id="main_wrapper" class="main_wrapper"><div id="main_back_img"><div ' +  </div><div data-lake-id="575ecf956465c5205b1c59e76e149b76"> ' id="main_back_bottom"><div id="container" class="ibody clearfix"><div><div ' +  </div><div data-lake-id="4539bf18cb299b99f97db9431f963cee"> ' id="content"><div class="simple_block_container"><ul><li><cite>2-16</cite>' +  </div><div data-lake-id="36d4847929b02b8deed22879f0282fa0">    '<div class="wrap_container"><table><tr><td class="nowrap">在<a style="" ' +</div><div data-lake-id="60882a62134c07b5a36f465543915614">    ' href="/f?kw=%E5%A4%A7%E9%82%91" target="_blank">ANDROID吧</a> 發貼</td><td class="wrap">' +  </div><div data-lake-id="2820d8ef8630d448b669e3a40836bf3f">    '<a href="/p/4356641476?pid=84106363194&amp;cid=0#841063631" class="thread_title"  target="_blank">硬碟</a></td>' +</div><div data-lake-id="c851395177610012a587bf4f55e4f0d1"> '</tr></table></div><div class="clear"></div></li>' +  </div><div data-lake-id="b084bdefe25ac2c1670b885b782f6f88">    '<li></li><li></li></ul></div></div></div></div></div></div></div></div></body></html>';</div><div data-lake-id="8572c268bd83f1607a1410be30f51a4c">}</div><div data-lake-id="ad10e34c7d2eafff0aa5c49d2e79d873">

繼續閱讀