Python爬蟲學(xué)習(xí)筆記(1.3)爬取網(wǎng)站異步加載數(shù)據(jù)

異步加載數(shù)據(jù):簡單的舉個例子,有些網(wǎng)頁不需要換頁贷掖,只要網(wǎng)頁上的滾動條滑到最下方苹威,它就會自動加載部分?jǐn)?shù)據(jù)牙甫,和瀑布流一樣调违,可以持續(xù)不斷的加載數(shù)據(jù) ,這些持續(xù)加載的數(shù)據(jù)就屬于異步數(shù)據(jù)(由js控制且轨,和請求網(wǎng)址的Request不是一起的)虚婿。

示例網(wǎng)站的URL:https://knewone.com/things/

首先,使用瀏覽器工具檢查至朗,選擇Network下的XHR,然后鼠標(biāo)往下滑锹引,讓網(wǎng)頁不斷的加載數(shù)據(jù)唆香,觀察XHR的變化嫌变,如圖。

1F33799E-A4BD-433D-AEB1-E5FB51DF531A.png

實際上不難看出躬它,只是在Request URL的末尾加上了頁碼后綴初澎。
然后檢查元素,鼠標(biāo)繼續(xù)往下滑虑凛,讓它加載數(shù)據(jù),然后觀察網(wǎng)頁源代碼的變化软啼。

89F92588-D667-4D30-8143-3B11DD307995.png

通過觀察發(fā)現(xiàn)桑谍,每次加載數(shù)據(jù)之后,網(wǎng)頁中就會多出幾個class="thing"article標(biāo)簽祸挪。然后打開其中的一個article標(biāo)簽就可以發(fā)現(xiàn)我們要爬取的元素锣披。

A63085A8-FCF1-4EC3-8394-4D8DE4FBB645.png

分析完頁面元素之后,下面用代碼來實現(xiàn)其中一個頁面的爬取。

from bs4 import BeautifulSoup
import requests

url = 'https://knewone.com/things/?page=2'
wb_data = requests.get(url)
soup = BeautifulSoup(wb_data.text,'lxml')

imgs = soup.select('a.cover-inner > img')
titles = soup.select('section.content > h4 > a')
links = soup.select('section.content > h4 > a')

for img,title,link in zip(imgs,titles,links):
    data = {
        'img':img.get('src'),
        'title':title.get('title'),
        'link':link.get('href')
    }
    print(data)

完成之后接下來做多頁面的爬取增热,并且設(shè)計一個自控頁碼的函數(shù),最終代碼如下摄咆。

from bs4 import BeautifulSoup
import requests
import time

url = 'https://knewone.com/things/?page='

def get_page(url,data=None):

    wb_data = requests.get(url)
    soup = BeautifulSoup(wb_data.text,'lxml')
    imgs = soup.select('a.cover-inner > img')
    titles = soup.select('section.content > h4 > a')
    links = soup.select('section.content > h4 > a')

    if data==None:
        for img,title,link in zip(imgs,titles,links):
            data = {
                'img':img.get('src'),
                'title':title.get('title'),
                'link':link.get('href')
            }
            print(data)


def get_more_pages(start,end):
    for one in range(start,end):
        get_page(url+str(one))
        time.sleep(1)


get_more_pages(1,8)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涩金,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子辆床,更是在濱河造成了極大的恐慌,老刑警劉巖咨堤,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗜暴,死亡現(xiàn)場離奇詭異,居然都是意外死亡舆逃,警方通過查閱死者的電腦和手機虫啥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人团赏,你說我怎么就攤上這事√遐耍” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長彩届。 經(jīng)常有香客問我,道長寨辩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮蕾各,結(jié)果婚禮上缸榛,老公的妹妹穿的比我還像新娘钧排。我一直安慰自己,他們只是感情好糟袁,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布周叮。 她就那樣靜靜地躺著,像睡著了一般氓仲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天砌滞,我揣著相機與錄音,去河邊找鬼。 笑死尊蚁,一個胖子當(dāng)著我的面吹牛横朋,可吹牛的內(nèi)容都是我干的叶撒。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼落君,長吁一口氣:“原來是場噩夢啊……” “哼纹冤!你這毒婦竟也來了宏浩?” 一聲冷哼從身側(cè)響起乏盐,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤耙厚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡指巡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡宅广,死狀恐怖跟狱,靈堂內(nèi)的尸體忽然破棺而出叼丑,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布窍奋,位于F島的核電站窖逗,受9級特大地震影響仗考,放射性物質(zhì)發(fā)生泄漏秃嗜。R本人自食惡果不足惜叽赊,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一恕洲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧庶诡,春花似錦书蚪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽田盈。三九已至允瞧,卻和暖如春廊驼,著一層夾襖步出監(jiān)牢的瞬間期虾,已是汗流浹背原朝。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留镶苞,地道東北人喳坠。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像茂蚓,于是被迫代替她去往敵國和親壕鹉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容