python爬蟲實現(xiàn)爬取同一個網(wǎng)站的多頁數(shù)據(jù)的實例講解
對于一個網(wǎng)站的圖片、文字音視頻等,如果我們一個個的下載,不僅浪費時間,而且很容易出錯。Python爬蟲幫助我們獲取需要的數(shù)據(jù),這個數(shù)據(jù)是可以快速批量的獲取。本文小編帶領(lǐng)大家通過python爬蟲獲取獲取總頁數(shù)并更改url的方法,實現(xiàn)爬取同一個網(wǎng)站的多頁數(shù)據(jù)。
一、爬蟲的目的
從網(wǎng)上獲取對你有需要的數(shù)據(jù)
二、爬蟲過程
1、獲取url(網(wǎng)址)。
2、發(fā)出請求,獲得響應(yīng)。
3、提取數(shù)據(jù)。
4、保存數(shù)據(jù)。
三、爬蟲功能
可以快速批量的獲取想要的數(shù)據(jù),不用手動的一個個下載(圖片、文字音視頻等)
四、使用python爬蟲爬取同一網(wǎng)站多頁數(shù)據(jù)
1、需要定位至該標(biāo)簽并獲得總頁數(shù)
def get_page_size(soup):
pcxt=soup.find('div',{'class':'babynames-term-articles'}).find('nav')
pcxt1=pcxt.find('div',{'class':'nav-links'}).findAll('a')
for i in pcxt1[:-1]:
link=i.get('href')
s=str(i)
page=re.sub('<a href="','',s)
page1=re.sub(link,'',page)
page2=re.sub('">','',page1)
page3=re.sub('</a>','',page2)
pagesize=int(page3)
print(pagesize)
return pagesize
Pass
2、更改url來訪問網(wǎng)址,也就是進(jìn)行主函數(shù)的編寫
if __name__ == '__main__':
url="http://www.sheknows.com/baby-names/browse/a/"
soup=get_requests(url)
page=get_page_size(soup)
for i in range(1,page+1):
url1=url+"page/"+str(i)+"/"
soup1=get_requests(url1)
draw_base_list(soup1)
實例擴(kuò)展:
import requests
from lxml import etree
import re
url="https://movie.douban.com/top250"
header = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"}
allMovieList=[]
flag = True
while flag:
html = requests.get(url, headers=header).text
list = etree.HTML(html)
lis = list.xpath('//ol[@class="grid_view"]/li')
for oneSelector in lis:
name = oneSelector.xpath("div/div[2]/div[1]/a/span[1]/text()")[0]
score = oneSelector.xpath("div/div[2]/div[2]/div/span[2]/text()")[0]
people = oneSelector.xpath("div/div[2]/div[2]/div/span[4]/text()")[0]
people = re.findall("(.*?)人評價",people)[0]
oneMovieList = [name,score,people]
allMovieList.append(oneMovieList)
#獲取下一頁地址
try:
next_url = list.xpath('//span[@class="next"]/a/@href')[0]
if next_url:
url = "https://movie.douban.com/top250"+ next_url
except:
flag = False
print(allMovieList)
到此這篇關(guān)于python爬蟲實現(xiàn)爬取同一個網(wǎng)站的多頁數(shù)據(jù)的實例講解的文章就介紹到這了,更多相關(guān)python爬蟲如何實現(xiàn)爬取同一個網(wǎng)站的多頁數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python編程matplotlib繪圖挑鉆石seaborn小提琴和箱線圖
這篇文章主要為大家介紹了Python編程如何使用matplotlib繪圖來挑出完美的鉆石以及seaborn小提琴和箱線圖,有需要的朋友可以借鑒參考下,希望能夠優(yōu)速幫助2021-10-10
使用Python讀取Excel數(shù)據(jù)在PPT中創(chuàng)建圖表
使用Python從Excel讀取數(shù)據(jù)并在PowerPoint幻燈片中創(chuàng)建圖表不僅能夠極大地簡化圖表創(chuàng)建過程,通過Python這一橋梁,我們可以輕松實現(xiàn)數(shù)據(jù)自動化處理和圖表生成,本文將演示如何使用Python讀取Excel數(shù)據(jù)在PPT中創(chuàng)建圖表,需要的朋友可以參考下2024-08-08
Python+PIL實現(xiàn)批量在圖片上寫上自定義文本
Pillow 是一個 Python 的圖像處理庫,它是 Python Imaging Library (PIL) 的一個分支,并且增加了更多的功能,下面我們看看如何利用它實現(xiàn)批量在圖片上寫上自定義的文本吧2024-11-11
Python經(jīng)緯度坐標(biāo)轉(zhuǎn)換為距離及角度的實現(xiàn)
這篇文章主要介紹了Python經(jīng)緯度坐標(biāo)轉(zhuǎn)換為距離及角度的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

