學習Python中的參數引用,定義一個爬蟲函數

問題:想將爬蟲功能定義成一個函數,但困惑於如何調用參數

  url = 'http://xxxx.com.cn'
  resp = requests.get(url)
  soup = BeautifulSoup(resp.text, "html.parser")

  格式一:soup.find_all('div', attrs={'class': 'cnt1'})
  格式二:soup.find_all('img', attrs={'class': 'by_img'})[0].get('src')

研究了一番相關知識,總結如下:

一、參數的幾種類型:

1、位置參數:

函數調用時的數量、位置、參數類型必須和定義時的一致。必須按順序傳全部參數。

2、默認參數:

函數定義時,爲參數設置一個默認值,當函數調用時,沒有傳入這個參數值,直接使用這個默認值。默認參數必須指向不可變對象。

3、可變參數:

*args:這種形式表示接受任意多個實際參數將其放到一個元組tuple中。

4、關鍵字參數:

**kwargs:這種形式表示接受任意多個實際參數將其放到一個字典dict中。也屬於一種可變參數。

它們之間的排列順序爲:必選參數 -> 默認參數 -> 可變參數 -> 關鍵字參數。

二、函數參數的引用:

三、爬取數據

 

resp = requests.get(url)
resp.encoding = 'utf-8'
soup = BeautifulSoup(resp.text, "html.parser")
data1 = soup.find_all('div', attrs={'class': 'cnt1'})
data2 = soup.find_all('img', attrs={'class': 'by_img'})[0].get('src')

四、編寫函數與調試

函數定義:

 

  調用函數: 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章