Python如何利用软件爬取数据及函数的定义及多种参数传递方式[图]

一、Python不懂代码也能爬取数据?试试这几个工具
前天,有个同学加我微信来咨询我:
“猴哥,我想抓取近期5000条新闻数据,但我是文科生,不会写代码,请问该怎么办?”
猴哥有问必答,对于这位同学的问题,我给安排上。
先说说获取数据的方式:一是利用现成的工具,我们只需懂得如何使用工具就能获取数据,不需要关心工具是怎么实现。打个比方,假如我们在岸上,要去海上某个小岛,岸边有一艘船,我们第一想法是选择坐船过去,而不会想着自己来造一艘船再过去。

Python如何利用软件爬取数据及函数的定义及多种参数传递方式[图]_第1张图片

第二种是自己针对场景需求做些定制化工具,这就需要有点编程基础。举个例子,我们还是要到海上某个小岛,同时还要求在30分钟内将1顿货物送到岛上。
因此,前期只是单纯想获取数据,没有什么其他要求的话,优先选择现有工具。
可能是Python近来年很火,加上我们会经常看到别人用Python来制作网络爬虫抓取数据。从而有一些同学有这样的误区,想从网络上抓取数据就一定要学Python,一定要去写代码。
其实不然,猴哥介绍几个能快速获取网上数据的工具。
MicrosoftExcel:
你没有看错,就是Office三剑客之一的Excel。Excel是一个强大的工具,能抓取数据就是它的功能之一。我以耳机作为关键字,抓取京东的商品列表。
不懂代码也能爬取数据?试试这几个工具
不懂代码也能爬取数据?试试这几个工具
等待几秒后,Excel会将页面上所有的文字信息抓取到表格中。这种方式确实能抓取到数据,但也会引入一些我们不需要的数据。如果你有更高的需求,可以选择后面几个工具。
二、python入门:函数的定义及多种参数传递方式
本节介绍Python中的函数,函数是可以反复使用的一段代码,有了函数能大大简化编程工作量,还能使代码更加简洁,所以我们需要将能用函数表示的代码都写成函数。
比如需要输出我最喜欢的书是什么?我可以定义一个输出函数favorite_book(),每次调用这个函数时会打印出“我最喜欢的书是:某某书”,请看代码:
deffavorite_book(book):"""输出我最喜欢的书"""print('我最喜欢的书是:'+book)favorite_book('巴黎圣母院')favorite_book('飘')
对上面代码的说明:
1、用def关键字定义一个函数。
2、函数名后面需要有个括号,括号后面必须有个冒号“:”,比如favorite_book(book):。
3、紧跟在函数名下面的的所有缩进行构成了函数体。
4、代码第二行中的三个引号被称为文档字符串的注释,用来描述函数的作用。
5、函数名后括号中的book是函数的参数,可以用来传递数据,本例就是用来传递各种书籍名,这个参数可以是零个或者多个。
6、print('我最喜欢的书是:'+book)是这个函数的唯一一行代码,当然代码可以有很多行,只需要在缩进体内就行。
7、要调用函数,只需要写函数名和括号中必须的信息即可,本例是这么调用的:favorite_book('巴黎圣母院')
函数的参数使用说明
1、位置实参
位置实参的意思是函数调用时参数的顺序要和函数定义时写的参数位置一样,否则执行结果会偏离预期。
下面来看多个函数参数的情况,对上面书籍的代码稍加改造,增加一个书籍类别的参数:
deffavorite_book(btype,book):"""输出我最喜欢的书"""print('我有一本'+btype+'类的书')print('这本'+btype+'书名叫:'+book)favorite_book('哲学','易经')favorite_book('长篇小说','飘')
上面的两个参数在调用函数的时候顺序要对应,如果没对应就会出现错误。请看下面代码,将“易经”写在前面,“哲学”写在后面的输出结果:
2、关键字实参

关键字实参是传递给函数时使用“名称=值”这种方式,这样函数在调用的时候就不会混淆。比如还是上面的代码,我们在传递书籍类别和书名的时候直接指定了参数名,虽然书名在前面,类别在后面,求索作文(https://www.isanxia.com)但是执行结果是正确的,因此使用关键字实参不考虑参数的顺序。deffavorite_book(btype,book):"""输出我最喜欢的书"""print('我有一本'+btype+'类的书')print('这本'+btype+'书名叫:'+book)favorite_book(book='易经',btype='哲学')

3、参数的默认值
函数参数是可以有默认值的,比如在上面中增加一个“页数”的值,默认是900页,看看执行结果:
deffavorite_book(btype,book,page='900'):"""输出我最喜欢的书"""print('我有一本'+btype+'类的书')print('这本'+btype+'书名叫:'+book)print('这边书一共有'+page+'页')favorite_book('哲学','易经')print()favorite_book('小说','飘','1200')
我们注意到在调用函数时,page这个参数可以填,也可以不填。如果不填,它的默认值就是900,如果填写了,就按填写的值展示。
4、等效调用
上面讲了这么多,大家可能发现函数其实是有多种调用方式的,下面五种调用方式,执行的结果都是一样的,请看代码:
favorite_book('哲学','易经')favorite_book('哲学','易经','900')favorite_book(book='易经',btype='哲学')favorite_book(btype='哲学',book='易经')favorite_book(btype='哲学',book='易经',page='900')

你可能感兴趣的:(网站建设,python,数据分析,人工智能,机器学习,编程语言)