摘要:爬取的極客頭條工具分析使用瀏覽器調試面板分析網頁結構以及網絡請求,容易知道,每一個頭條信息結構如圖所示因此,我們可以通過定位元素,同時,根據面板的網絡請求分析,第一次加載更多數據的請求為第二次的為上述請求已精簡,刪除了原有請求的部分參數
Python 爬取CSDN的極客頭條 工具
Python
Python:requests
Python:BeautifulSoup
分析使用瀏覽器調試面板分析網頁結構以及網絡請求,容易知道,每一個頭條信息結構如圖所示
因此,我們可以通過 dd.tracking-ad > span > a定位元素,同時,根據Network面板的網絡請求分析,第一次加載更多數據的請求為
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
上述請求已精簡,刪除了原有請求的部分參數
也就是說,初始加載更多數據的時候,from參數為-,后續的請求,from是前一次請求所返回來的值,因此,我們可以用Python爬取數據了
代碼# -*- 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: 加載更多的時候的標志 :param type: 極客頭條的類型 :param size: 每頁的數目 :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 # 這里控制獲取多少頁的內容 while i < 10: result = cs.geek(_from=_from) items.extend(result["items"]) _from = result["from"] i = i + 1 print(items)
項目地址: 模擬京東登錄
吐槽QQ群: 173318043
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44480.html
摘要:掘金網址掘金是一個幫助開發者成長的社區,是給開發者用的,給設計師用的,和給產品經理用的。就是一個以討論服務器數據庫等技術為主的自由開放的技術社區。網址社區為國內最大最具影響力的開源技術社區,致力于的技術研究。 1.StackOverflow網址:https://stackoverflow.com/Stack Overflow是最受程序員歡迎的IT技術問答網站,而且也是內容最豐富的社區之...
摘要:掘金網址掘金是一個幫助開發者成長的社區,是給開發者用的,給設計師用的,和給產品經理用的。就是一個以討論服務器數據庫等技術為主的自由開放的技術社區。網址社區為國內最大最具影響力的開源技術社區,致力于的技術研究。 1.StackOverflow網址:https://stackoverflow.com/Stack Overflow是最受程序員歡迎的IT技術問答網站,而且也是內容最豐富的社區之...
摘要:值得注意的是,文章在微博上的傳播時間比較短。由于我的粉絲數量還不是非常多,我只能從中挑選中閱讀量最高的一篇文章。在自己的關注人數上升后,再轉到這些問題上,要不會吃力不討好。 對于以技術為核心的技術博客來說,人們是沖著他們需要的內容去的,絕大多數情況下都不是在閑逛。如果你的網站里沒有他想要的東西的話,他便會離開,人們是出于目的去搜索,基于動機,而不是無聊的在閑逛。無聊的話,他們更多的會去...
閱讀 2665·2021-11-11 16:54
閱讀 3657·2021-08-16 10:46
閱讀 3441·2019-08-30 14:18
閱讀 3034·2019-08-30 14:01
閱讀 2723·2019-08-29 14:15
閱讀 2007·2019-08-29 11:31
閱讀 3083·2019-08-29 11:05
閱讀 2583·2019-08-26 11:54