成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python 爬取CSDN的極客頭條

CatalpaFlat / 3325人閱讀

摘要:爬取的極客頭條工具分析使用瀏覽器調(diào)試面板分析網(wǎng)頁結(jié)構(gòu)以及網(wǎng)絡(luò)請求,容易知道,每一個(gè)頭條信息結(jié)構(gòu)如圖所示因此,我們可以通過定位元素,同時(shí),根據(jù)面板的網(wǎng)絡(luò)請求分析,第一次加載更多數(shù)據(jù)的請求為第二次的為上述請求已精簡,刪除了原有請求的部分參數(shù)

Python 爬取CSDN的極客頭條 工具

Python

Python:requests

Python:BeautifulSoup

分析

使用瀏覽器調(diào)試面板分析網(wǎng)頁結(jié)構(gòu)以及網(wǎng)絡(luò)請求,容易知道,每一個(gè)頭條信息結(jié)構(gòu)如圖所示

因此,我們可以通過 dd.tracking-ad > span > a定位元素,同時(shí),根據(jù)Network面板的網(wǎng)絡(luò)請求分析,第一次加載更多數(shù)據(jù)的請求為

http://geek.csdn.net/service/news/get_news_list?from=-&size=20&type=HackCount

第二次的為:

http://geek.csdn.net/service/news/get_news_list?from=6:245113&size=20&type=HackCount

上述請求已精簡,刪除了原有請求的部分參數(shù)

也就是說,初始加載更多數(shù)據(jù)的時(shí)候,from參數(shù)為-,后續(xù)的請求,from是前一次請求所返回來的值,因此,我們可以用Python爬取數(shù)據(jù)了

代碼
# -*- coding: UTF-8 -*-
from bs4 import BeautifulSoup
import requests
import time


class CS:
    def __init__(self):
        # self.username = username
        pass

    def geek(self, _from=None, type="HackCount", size=20):
        """
        url: http://geek.csdn.net/,
        more: http://geek.csdn.net/service/news/get_news_list?from=-&size=20&type=HackCount
        :param _from: 加載更多的時(shí)候的標(biāo)志
        :param type: 極客頭條的類型
        :param size: 每頁的數(shù)目
        :return:
        """
        start = "-"
        if _from:
            timestamp = int(time.time())
            url = "http://geek.csdn.net/service/news/get_news_list?" 
                  "from=%s&size=%d&type=%s&_=%d" % (_from, size, type, timestamp)
            req = requests.get(url)
            js = req.json()
            start = js["from"]
            soup = BeautifulSoup(js["html"], "lxml")
        else:
            url = "http://geek.csdn.net/"
            req = requests.get(url)
            soup = BeautifulSoup(req.content, "lxml")
        results = soup.select("dd.tracking-ad > span > a")
        items = []
        for result in results:
            item = {
                "href": result["href"],
                "title": result.string
            }
            items.append(item)
        return {
            "from": start,
            "items": items
        }


cs = CS()
items = []
_from = ""
i = 0
# 這里控制獲取多少頁的內(nèi)容
while i < 10:
    result = cs.geek(_from=_from)
    items.extend(result["items"])
    _from = result["from"]
    i = i + 1
print(items)

項(xiàng)目地址: 模擬京東登錄

吐槽QQ群: 173318043

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/44480.html

相關(guān)文章

  • 16個(gè)幫助開發(fā)者成長的技術(shù)社區(qū)

    摘要:掘金網(wǎng)址掘金是一個(gè)幫助開發(fā)者成長的社區(qū),是給開發(fā)者用的,給設(shè)計(jì)師用的,和給產(chǎn)品經(jīng)理用的。就是一個(gè)以討論服務(wù)器數(shù)據(jù)庫等技術(shù)為主的自由開放的技術(shù)社區(qū)。網(wǎng)址社區(qū)為國內(nèi)最大最具影響力的開源技術(shù)社區(qū),致力于的技術(shù)研究。 1.StackOverflow網(wǎng)址:https://stackoverflow.com/Stack Overflow是最受程序員歡迎的IT技術(shù)問答網(wǎng)站,而且也是內(nèi)容最豐富的社區(qū)之...

    JerryZou 評論0 收藏0
  • 16個(gè)幫助開發(fā)者成長的技術(shù)社區(qū)

    摘要:掘金網(wǎng)址掘金是一個(gè)幫助開發(fā)者成長的社區(qū),是給開發(fā)者用的,給設(shè)計(jì)師用的,和給產(chǎn)品經(jīng)理用的。就是一個(gè)以討論服務(wù)器數(shù)據(jù)庫等技術(shù)為主的自由開放的技術(shù)社區(qū)。網(wǎng)址社區(qū)為國內(nèi)最大最具影響力的開源技術(shù)社區(qū),致力于的技術(shù)研究。 1.StackOverflow網(wǎng)址:https://stackoverflow.com/Stack Overflow是最受程序員歡迎的IT技術(shù)問答網(wǎng)站,而且也是內(nèi)容最豐富的社區(qū)之...

    Integ 評論0 收藏0
  • 技術(shù)文章寫作及運(yùn)營的技巧:分析篇 | 什么樣的文章受歡迎?

    摘要:值得注意的是,文章在微博上的傳播時(shí)間比較短。由于我的粉絲數(shù)量還不是非常多,我只能從中挑選中閱讀量最高的一篇文章。在自己的關(guān)注人數(shù)上升后,再轉(zhuǎn)到這些問題上,要不會吃力不討好。 對于以技術(shù)為核心的技術(shù)博客來說,人們是沖著他們需要的內(nèi)容去的,絕大多數(shù)情況下都不是在閑逛。如果你的網(wǎng)站里沒有他想要的東西的話,他便會離開,人們是出于目的去搜索,基于動機(jī),而不是無聊的在閑逛。無聊的話,他們更多的會去...

    felix0913 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<