第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有不同頁碼的網(wǎng)頁抓取

具有不同頁碼的網(wǎng)頁抓取

SMILET 2023-12-29 15:26:22
所以我正在嘗試從網(wǎng)上抓取一堆個人資料。每個個人資料都有一個視頻集合。我正在嘗試從網(wǎng)絡(luò)上抓取每個視頻的信息。我遇到的問題是每個配置文件上傳不同數(shù)量的視頻,因此每個配置文件包含視頻的頁面數(shù)量各不相同。例如,一個個人資料有 45 頁視頻,如下面的 html 所示:<div class="pagination "><ul><li><a class="active" href="">1</a></li><li><a href="#1">2</a></li><li><a href="#2">3</a></li><li><a href="#3">4</a></li><li><a href="#4">5</a></li><li><a href="#5">6</a></li><li><a href="#6">7</a></li><li><a href="#7">8</a></li><li><a href="#8">9</a></li><li><a href="#9">10</a></li><li><a href="#10">11</a></li><li class="no-page"><a href="#" class="ellipsis last-ellipsis">...</a><li><a href="#44" class="last-page">45</a></li><li><a href="#1" class="no-page next-page"><span class="mobile-hide">Next</span>而另一個個人資料有 2 頁<div class="pagination "><ul><li><a class="active" href="">1</a></li><li><a href="#1">2</a></li><li><a href="#1" class="no-page next-page"><span class="mobile-hide">Next</span>我的問題是,如何解釋頁面的不同變化?我正在考慮制作一個 for 循環(huán)并在末尾添加一個隨機數(shù),例如for i in range(0,1000):    new_url = 'url' + str(i)我占該頁面的位置,但我想知道是否有更有效的方法來執(zhí)行此操作。
查看完整描述

3 回答

?
子衿沉夜

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊

  1. 獲取<li>...</li>其中的元素<div class="pagination "><ul>

  2. 按類別排除最后一個<li class="no-page">

  3. 解析“href”并構(gòu)建您的下一個 url 目的地。

  4. 抓取每個新的 url 目標(biāo)。


查看完整回答
反對 回復(fù) 2023-12-29
?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗 獲得超6個贊

我只想感謝所有回答我問題的人花時間回答我的問題。我找到了答案——或者至少是對我有用的答案——并決定分享,以防對其他人有幫助。


url = 'insert url'

re = requests.get(url)

soup = BeautifulSoup(re.content,'html.parser')


#look for pagination class

page = soup.find(class_='pagination')


#create list to include all page numbers

href=[]


#look for all 'li' tags as the users above suggested

links = page.findAll('li')

for link in links:

   href += [link.find('a',href=True).text]  


'''

href will now include all pages and the word Next. 

So for instance it will look something like this:[1,2,3...,44,Next]. 

I want to get 44, which will be href[-2] and then convert that to an int for 

a for loop. In the for loop add + 1 because it will iterate to i-1, instead of 

i. For instance, if you're iterating (0,44), the last output of i will be 43, 

which is why we +1

'''


for i in range(0, int(href[-2])+1):

   new_url = url + str(1)


查看完整回答
反對 回復(fù) 2023-12-29
?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗 獲得超6個贊

循環(huán)的“骨架”可以如下所示:


url = 'http://url/?page={page}'


page = 1

while True:

    soup = BeautifulSoup(requests.get(url.format(page=page)).content, 'html.parser')


    # ...


    # do we have next page?

    next_page = soup.select_one('.next-page')

    

    # no, so break from the loop

    if not next_page:

        break


    page += 1

您可以有無限循環(huán),并且僅當(dāng)沒有下一頁(如果最后一頁上while True:沒有任何標(biāo)簽)時才會中斷循環(huán)。class="next-page"


查看完整回答
反對 回復(fù) 2023-12-29
  • 3 回答
  • 0 關(guān)注
  • 212 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號