如何用python爬取数据

  • 时间:
  • 7678人关注

python爬取数据:1、用find_all()提取所有符合要求的数据,搜索当前tag的所有tag子节点,并判断是否符合过滤器的条件;2、用法bs对象.find_all(标签,属性)。,另外这篇文章主要知识点是关于Python、python教程的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子资料:

小编给大家总结一篇《如何用python爬取数据》的技术内容,代码实例很详细,增加了更多知识点内容,看完如果觉得有用请记得收藏。

如何用python爬取数据

1、find_all()的爬取

find_all():提取所有符合要求的数据,搜索当前tag的所有tag子节点,并判断是否符合过滤器的条件。

2、用法

bs对象.find_all(标签,属性)

3、注意

bs对象、标签和属性使用都与find()一致。但是,从find_all()中提取的数据类型与find()是不同的。通过find()方法提取的数据类型通常是Tag,而通过find_all提取的数据类型通常是ResultSet。碰到了Tag类型的数据,我们可以通过Tag.text()来进一步提取纯文本格式的内容,通过Tag['PropertyName']来提取特定属性的值。当遇到了ResultSet类型的数据时,我就会想办法通过遍历进一步提取所有符合条件的数据。

4、实例

# 最灵活的使用方式
li_quick = soup.find_all(attrs={'class':'item-1'})
for li_quick in li_quick:
print('最灵活的查找方法:',li_quick)

以上就是用python爬取数据的方法,在之前我们已经对find方法有所学习,那么本篇find_all()也是比较简单和快速的爬取方法之一。

(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)

上一篇:python库如何实现对象的转换

下一篇:python逆序输出三位数

相关内容

学习笔记

22小时3分钟前回答

python读取中文路径时出错(2种解决方案)

编码问题可能导致python读取中文路径时出错 解决方法一:路径拆分单独编码 import os root_path = 'E:\\project\\sk_man-master\\SK\\static\\sk\\new_clothes\\'+u'裤子' for file in os.listdir(root_path): print file.decode('gbk') 方法二:对全部路径用unicode格式编码 root_path = unicode('E:\\project\\sk_man-master\\SK\\static\\sk\\new_clothes\\裤子','utf-8') 补充:python读取word路径出错 python读取doc文档不方便,所以上文链接中把doc文件转存成docx,但是我在使用这个代码时,路径一直出错还会报一些奇怪的错误 pywintypes.com_error: (-2147023174, 'rpc 服务器不可用。', none, none) 查询得知这只是一个乱码,指示路径不可用 但我在尝试各种路径的写法后发现都有错误, 遂……

40小时35分钟前回答

详解python websocket获取实时数据的几种常见链接方式

第一种, 使用create_connection链接,需要pip install websocket-client (此方法不建议使用,链接不稳定,容易断,并且连接很耗时) import timefrom websocket import create_connectionurl = 'wss://i.cg.net/wi/ws'while True: # 一直链接,直到连接上就退出循环 time.sleep(2) try: ws = create_connection(url) print(ws) break except Exception as e: print('连接异常:', e) continuewhile True: # 连接上,退出第一个循环之后,此循环用于一直获取数据 ws.send('{"event":"subscribe", "channel":"btc_usdt.ticker"}') response = ws.recv() print(response) 第二种,运行效果很不错,很容易连接,获取数据的速度也挺快 import jsonfrom ws4py.client.threadedclient import WebSocketClientclass CG_Client(WebSocketClient): def opene……