摘要:爬取的極客頭條工具分析使用瀏覽器調(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
摘要:掘金網(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ū)之...
摘要:掘金網(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ū)之...
摘要:值得注意的是,文章在微博上的傳播時(shí)間比較短。由于我的粉絲數(shù)量還不是非常多,我只能從中挑選中閱讀量最高的一篇文章。在自己的關(guān)注人數(shù)上升后,再轉(zhuǎn)到這些問題上,要不會吃力不討好。 對于以技術(shù)為核心的技術(shù)博客來說,人們是沖著他們需要的內(nèi)容去的,絕大多數(shù)情況下都不是在閑逛。如果你的網(wǎng)站里沒有他想要的東西的話,他便會離開,人們是出于目的去搜索,基于動機(jī),而不是無聊的在閑逛。無聊的話,他們更多的會去...
閱讀 2675·2021-11-11 16:54
閱讀 3677·2021-08-16 10:46
閱讀 3454·2019-08-30 14:18
閱讀 3048·2019-08-30 14:01
閱讀 2733·2019-08-29 14:15
閱讀 2021·2019-08-29 11:31
閱讀 3096·2019-08-29 11:05
閱讀 2601·2019-08-26 11:54