python抓取数据教程(python数据抓取代码)

http://www.itjxue.com  2023-04-07 13:39  来源:未知  点击次数: 

python数据分析时间序列如何提取一个月的数据

python做数据分析时下面就是提取一个月数据的教程1. datetime库

1.1 datetime.date

1) datetime.date.today() 返回今日,输出的类型为date类

import datetime

today = datetime.date.today()

print(today)

print(type(today))

– 输出的结果为:

2020-03-04

class 'datetime.date'

将输出的结果转化为常见数据类型(字符串)

print(str(today))

print(type(str(today)))

date = str(today).split('-')

year,month,day = date[0],date[1],date[2]

print('今日的年份是{}年,月份是{}月,日子是{}号'.format(year,month,day))

– 输出的结果为:(转化为字符串之后就可以直接进行操作)

2020-03-04

class 'str'

今日的年份是2020年,月份是03月,日子是04号

2) datetime.date(年,月,日),获取当前的日期

date = datetime.date(2020,2,29)

print(date)

print(type(date))

– 输出的结果为:

2020-02-29

class 'datetime.date'

1.2 datetime.datetime

1) datetime.datetime.now()输出当前时间,datetime类

now = datetime.datetime.now()

print(now)

print(type(now))

– 输出的结果为:(注意秒后面有个不确定尾数)

2020-03-04 09:02:28.280783

class 'datetime.datetime'

可通过str()转化为字符串(和上面类似)

print(str(now))

print(type(str(now)))

– 输出的结果为:(这里也可以跟上面的处理类似分别获得相应的数据,但是也可以使用下面更直接的方法来获取)

2020-03-04 09:04:32.271075

class 'str'

2) 通过自带的方法获取年月日,时分秒(这里返回的是int整型数据,注意区别)

now = datetime.datetime.now()

print(now.year,type(now.year))

print(now.month,type(now.month))

print(now.day,type(now.day))

print(now.hour,type(now.hour))

print(now.minute,type(now.minute))

print(now.second,type(now.second))

print(now.date(),type(now.date()))

print(now.date().year,type(now.date().year))

– 输出的结果为:(首先注意输出中倒数第二个还是上面的datetime.date对象,这里是用来做时间对比的,同时除了这里的datetime.datetime有这种方法,datetime.date对象也有。因为此方法获取second是取的整型数据,自然最后的不确定尾数就被取整处理掉了)

2020 class 'int'

3 class 'int'

4 class 'int'

9 class 'int'

12 class 'int'

55 class 'int'

2020-03-04 class 'datetime.date'

2020 class 'int'

如何用python爬取网站数据?

这里简单介绍一下吧,以抓取网站静态、动态2种数据为例,实验环境win10+python3.6+pycharm5.0,主要内容如下:

抓取网站静态数据(数据在网页源码中):以糗事百科网站数据为例

1.这里假设我们抓取的数据如下,主要包括用户昵称、内容、好笑数和评论数这4个字段,如下:

对应的网页源码如下,包含我们所需要的数据:

2.对应网页结构,主要代码如下,很简单,主要用到requests+BeautifulSoup,其中requests用于请求页面,BeautifulSoup用于解析页面:

程序运行截图如下,已经成功爬取到数据:

抓取网站动态数据(数据不在网页源码中,json等文件中):以人人贷网站数据为例

1.这里假设我们爬取的是债券数据,主要包括年利率、借款标题、期限、金额和进度这5个字段信息,截图如下:

打开网页源码中,可以发现数据不在网页源码中,按F12抓包分析时,才发现在一个json文件中,如下:

2.获取到json文件的url后,我们就可以爬取对应数据了,这里使用的包与上面类似,因为是json文件,所以还用了json这个包(解析json),主要内容如下:

程序运行截图如下,已经成功抓取到数据:

至此,这里就介绍完了这2种数据的抓取,包括静态数据和动态数据。总的来说,这2个示例不难,都是入门级别的爬虫,网页结构也比较简单,最重要的还是要会进行抓包分析,对页面进行分析提取,后期熟悉后,可以借助scrapy这个框架进行数据的爬取,可以更方便一些,效率更高,当然,如果爬取的页面比较复杂,像验证码、加密等,这时候就需要认真分析了,网上也有一些教程可供参考,感兴趣的可以搜一下,希望以上分享的内容能对你有所帮助吧。

如何利用Python抓取静态网站及其内部资源?

这个非常简单,requests+BeautifulSoup组合就可以轻松实现,下面我简单介绍一下,感兴趣的朋友可以自己尝试一下,这里以爬取糗事百科网站数据(静态网站)为例:

1.首先,安装requets模块,这个直接在cmd窗口输入命令“pipinstallrequests”就行,如下:

2.接着安装bs4模块,这个模块包含了BeautifulSoup,安装的话,和requests一样,直接输入安装命令“pipinstallbs4”即可,如下:

3.最后就是requests+BeautifulSoup组合爬取糗事百科,requests用于请求页面,BeautifulSoup用于解析页面,提取数据,主要步骤及截图如下:

这里假设爬取的数据包含如下几个字段,包括用户昵称、内容、好笑数和评论数:

接着打开对应网页源码,就可以直接看到字段信息,内容如下,嵌套在各个标签中,后面就是解析这些标签提取数据:

基于上面网页内容,测试代码如下,非常简单,直接find对应标签,提取文本内容即可:

程序运行截图如下,已经成功抓取到网站数据:

至此,我们就完成了使用python来爬去静态网站。总的来说,整个过程非常简单,也是最基本的爬虫内容,只要你有一定的python基础,熟悉一下上面的示例,很快就能掌握的,当然,你也可以使用urllib,正则表达式匹配等,都行,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

(责任编辑:IT教学网)

更多

推荐免费资源文章