女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python 爬取CSDN的極客頭條

馬哥Linux運維 ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-21 14:58 ? 次閱讀

這兩周花了點時間讀了《Python網絡數據采集》,內容不多,不到200頁,但是非常豐富,有入門,有提高,有注意事項,有經驗之談,有原理,有分析,讀完受益匪淺。書中講了很多反爬蟲、圖片驗證碼之類的東西,不過感謝csdn的開放性,這些都沒有。所以第一個練習,就是爬取csdn的極客頭條的更新文章。

1、思路

思路比較簡單,首先是登錄,然后爬取頁面的更新文章名稱和鏈接。要注意的一點是,極客頭條的列表刷新是動態的,只有頁面有滾動條并且往下拉的時候,才會加載新的文章列表。我用豎屏顯示器試了下,沒有滾動條的情況下,默認顯示20條的文章列表,結果不能加載新的文章列表,應該算是bug。

2、準備

通過瀏覽器的開發人員工具抓包,可以發現極客頭條申請新列表的時候URL格式如下:

http://geek.csdn.net/service/news/get_news_list?jsonpcallback=jQuery203014439105321047596_1516862462757&username=[賬戶名]&from=-&size=20&type=hackernewsv2_new&_=1516862462758

請求參數:

jsonpcallback:

jQuery20302827217349787545_1516863701413 #該參數是jQuery框架自動生成的匿名回調函數的函數名,用于ajax獲取數據時的數據處理,看網頁源代碼,應該是利用getJSON,所以是頁面端生成的參數,可以隨意填寫

username: [賬戶名]

from:

6:252765 #這個參數代表的是下一次請求文章列表時,文章的起始編號,如果是第一次請求列表,則這里填‘-’(短杠),和上面例子中一樣,下次編號會在本次請求返回的JSON數據中攜帶

size:

20 #本次請求的文章條目數,我試過1000都成功了。。。

type:

hackernewsv2_new #文章類型,類型在首頁的“最熱 最新 業界”等等那一行小標題,選擇的分類不同,這個參數不同,具體抓包可見

_:

1516863701415 #沒什么用,就是第一個參數下短杠后面的數字累加,實際測試沒有也可以

通過查找資料和抓包,發現csdn的登錄還是很簡單的,只要用戶名密碼,不需要驗證碼等等,抓包可以看到請求參數:

gps:

39.890503,116.431339

username:

[賬戶名]

password:

[密碼] #抓包的話這里是明碼,發出去的話應該是加密的

rememberMe:

true #是否記住密碼

lt:

LT-448149-vgNusKFi3i7wBRIZUrzCFLDfoDVP34 #這個參數是在登錄主頁面中的,需要自己解析出來,數值隨機,每次登錄需要獲取

execution:

e3s1 #目前是固定值,和網文對比這個值不同,所以還是每次登錄獲取的好

_eventId:

submit #固定值,就是代表提交

登錄時要注意的是,csdn為了防爬蟲,要求HTTP頭的User-Agent字段必須是真實的,所以我用了抓包里面真實的瀏覽器填充的字段,否則會一直登錄失敗,返回登錄頁。

通過抓包可以看到,請求文章后,返回的是json數據,其中‘from’自動用于下次請求,‘html’字段就是返回的網頁,utf-8編碼的Unicode字符串,Python默認用的就是Unicode,所以取出html字段的數據后自動轉為了漢字、符號等,然后解析其中的class類型為‘title’的鏈接,就可以獲得文章鏈接和名稱。

3、代碼(非常短)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86175
  • csdn
    +關注

    關注

    2

    文章

    17

    瀏覽量

    6972

原文標題:Python 爬取CSDN的極客頭條

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    python實現網頁爬蟲圖片

    來實現這樣一個簡單的爬蟲功能,把我們想要的代碼取到本地,功能有點類似我們之前學過的批處理。下面就看看如何使用python來實現這樣一個功能,主要分為三步,如下:一. 獲取整個頁面數據首先我們可以先
    發表于 04-05 15:32

    python

    python學習1.數據2.圖片
    發表于 09-21 18:18

    采用xpath網站內容

    xpathmooc網課程
    發表于 04-11 12:01

    基于Python3對攜程網頁上北京五星級酒店列表的

    Python3 攜程網[1] 根據好評優先順序,獲取北京五星級酒店列表
    發表于 04-19 16:25

    基于Python實現一只小爬蟲拉勾網職位信息的方法

    通俗易懂的分析如何用Python實現一只小爬蟲,拉勾網的職位信息
    發表于 05-17 06:54

    python音頻文件的步驟

    python爬蟲音頻文件
    發表于 08-22 14:23

    Python豆瓣電影信息和存儲數據庫

    Python——豆瓣電影信息并存儲數據庫
    發表于 03-11 11:19

    百度92年程序員因“篡改數據”被抓

    百度92年程序員因“篡改數據”被抓—— 技術人員的新聞圈!CSDN 的讀者朋友們早上好哇,「頭條」來啦,快來看今天都有哪些值得我們技術人關注的重要新聞吧。整理 | 張紅月出品 |
    發表于 07-28 07:04

    python基礎語法及流程控制

    爬蟲復習1.python基礎python基礎語法 流程控制 函數封裝2.防措施整體防User-AgentrefererIP代理池Cookie代理池 各自防
    發表于 08-31 07:41

    豆瓣電影Top250信息

    通過本案例[豆瓣電影Top250信息]鍛煉除正則表達式之外兩種信息解析方式:Xpath和PyQuery。url地址:https://movie.douban.com/top25
    發表于 03-23 15:47

    Python如何實時變化的WebSocket數據

    Python 中的網絡請求庫非常多,Requests 是最常用的請求庫之一,它可以模擬發送網絡請求。但是這些請求都是基于 HTTP 協議的。在面對 WebSocket 的時候 Requests 就發揮不料作用了,必須使用能夠連接 WebSocket 的庫。
    的頭像 發表于 03-11 09:31 ?3755次閱讀
    <b class='flag-5'>Python</b>如何<b class='flag-5'>爬</b><b class='flag-5'>取</b>實時變化的WebSocket數據

    如何安裝第三方模塊4K壁紙

    如何安裝第三方模塊4K壁紙
    發表于 12-27 10:39 ?0次下載

    華為發布麒麟 990 芯片;蘋果召回部分電源插頭轉換器;KDevelop 5.4.2 發布? | 頭條...

    快來收聽頭條音頻版吧,智能播報由標貝科技提供技術支持。「CSDN
    發表于 01-11 13:24 ?3次下載
    華為發布麒麟 990 芯片;蘋果召回部分電源插頭轉換器;KDevelop 5.4.2 發布? | <b class='flag-5'>極</b><b class='flag-5'>客</b><b class='flag-5'>頭條</b>...

    如何用python抖音app數據

    記錄一下如何用pythonapp數據,本文以抖音視頻app為例。
    的頭像 發表于 03-16 09:07 ?5738次閱讀

    Scrapy怎么Python文件

    我們介紹了Scrapy框架運行基本原理,緊接著我們介紹了如何利用Scrapy文本數據
    的頭像 發表于 02-24 15:16 ?774次閱讀
    Scrapy怎么<b class='flag-5'>爬</b><b class='flag-5'>取</b><b class='flag-5'>Python</b>文件