2017-08-28 76 views
0

我試圖抓取來自LinkedIn,其使用個人數據抓取實踐數據。但是我無法在沒有登錄的情況下抓取數據。所以我用了兩種方法來模擬登錄。一種方法是從HttpClient獲取cookie,它將嘗試進行模擬登錄以獲取cookie。另一種是直接添加cookie。但我都失敗了。我不知道原因。 我使用Framework Webmagic進行數據爬行。通常,直接添加Cookie將是一個簡單的方法。但我不知道我是否添加了錯誤的cookies。 這是事情。我想從網站獲取數據https://www.linkedin.com/mynetwork/invite-connect/connections/ 我在此頁面添加了所有的cookies。數據抓取從LinkedIn

這裏的所有cookie。

private Site site = Site.me().setRetryTimes(3).setSleepTime(100); 
site.setCharset("utf-8") 
    .setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36") 
    .addHeader("accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8") 
    .addHeader("accept-encoding","gzip, deflate, br") 
    .addHeader("accept-language:en-US","en;q=0.8") 
    .addHeader("connection", "keep-alive") 
    .addHeader("referer","https://www.linkedin.com/") 
    .addCookie(".linkedin.com","lidc", "b=TB91:g=750:u=38:i=1503815541:t=1503895683:s=AQE5xZLW6mVmRdHBY9qNO-YOiyAnKtgk") 
    .addCookie(".linkedin.com","lang", "v=2&lang=en-us") 
    .addCookie(".linkedin.com","_lipt", "CwEAAAFeIo5-jXjgrpSKF4JfxzNbjC6328JPUgtSHQIKtSDyk4Bockuw84uMkCwbKS0TzUOM_w8Al4s9YjFFF-0T43TPtfG_wv-JNVXsPeO8mVxaYwEcTGiyOdyaRZOCIK7qi02EvZUCtjsaTpAos60U4XrFnu1FO-cY1LrzpqDNUmfrqWJPjSoZpOmjeKtTh-nHcdgpruvjf237E78dqMydLLd1A0Uu7Kr7CmNIurXFd9-Z4hwevLRd3SQMEbSRxAwCclgC4tTzEZ5KoFmpI4veKBFGOqF5MCx3hO9iNRdHrJC44hfRx-Bw7p__PYNWF8sc6yYd0deF-C5aJpronFUYp3vXiwt023qm6T9eRqVvtH1BRfLwCZOJmYrGbKzq4plzNKM7DnHKHNV_cjJQtc9aD3JQz8n2GI-cHx2PYubUyIjVWWvntKWC-EUtn4REgL4jmIaWzDUVz3nkEBW7I3Wf6u2TkuAVu9vq_0mW_dTVDCzgASk") 
    .addCookie(".linkedin.com","_ga", "GA1.2.2091383287.1503630105") 
    .addCookie(".www.linkedin.com","li_at", "AQEDAReIjksE2n3-AAABXiKOYVQAAAFeRprlVFYAV8gUt-kMEnL2ktiHZG-AOblSny98srz2r2i18IGs9PqmSRstFVL2ZLdYOcHfPyKnBYLQPJeq5SApwmbQiNtsxO938zQrrcjJZxpOFXa4wCMAuIsN") 
    .addCookie(".www.linkedin.com","JSESSIONID", "ajax:4085733349730512988") 
    .addCookie(".linkedin.com","liap", "true") 
    .addCookie(".www.linkedin.com","sl","v=1&f68pf") 
    .addCookie("www.linkedin.com","visit", "v=1&M") 
    .addCookie(".www.linkedin.com","bscookie", "v=1&201708250301246c8eaadc-a08f-4e13-8f24-569529ab1ce0AQEk9zZ-nB0gizfSrOSucwXV2Wfc3TBY") 
    .addCookie(".linkedin.com","bcookie", "v=2&d2115cf0-88a6-415a-8a0b-27e56fef9e39"); 

我錯過了什麼嗎?

回答

0

LinkedIn是很難爬,不只是技術上的,但他們也sue people who do

當他們檢測到IP作爲一種可能的機器人,他們給你的登錄頁面。他們所知道的大多數IP地址現在都在提供登錄頁面。新的範圍不會持續很長時間。

他們可能只是相當自信,你是一個機器人,並阻止你登錄。