• 学习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')

    四、编写函数与调试

    函数定义:

      调用函数: 

     

  • 相关阅读:
    程序员的一天
    美团点评云真机平台实践
    第5波:5本《自动化平台测试开发》+5本《软件自动化测试开发》又双叒叕来送书了...
    软件测试:管理篇
    软件测试:用例篇
    转载ASP.NET MVC 和ASP.NET Web Form简单区别
    转载ASP.NET 状态管理Application,Session,Cookie和ViewState用法
    转载 asp.net中ViewState的用法详解
    在ASP.NET中如何运行后台任务
    转载 .net中的dll.refresh文件和pdb文件
  • 原文地址:https://www.cnblogs.com/chen117/p/12952601.html
Copyright © 2020-2023  润新知