python爬虫知识

文章目录

  • 安装requests
  • 安装BeautifulSoup4
    • text函数
  • 数据存储
    • Excel操作
      • 操作Excel依赖安装
    • CSV文件操作

安装requests

pip install requests

安装BeautifulSoup4

pip install BeautifulSoup4

在这里插入图片描述
示例:

res = requests.get(url,headers=headers)
    if res.status_code == 200:
        bs = bs4.BeautifulSoup(res.text,'html.parser')
        # print(bs)
        movieItems = bs.find_all('div',class_='item')
        # print(movieItems[0])
        for movie in movieItems:
            # 获取序号、链接、图片
            tag_pic = movie.find('div',class_='pic')
            num = tag_pic.find('em').text
            url = tag_pic.find('a')['href']
            img = tag_pic.find('img')['src']
            print('序号:'+num+';链接:'+url+';图片:'+img)
            #获取标题
            title = movie.find('span',class_='title').text
            print('标题:' + title)
            #获取导演主演
            mainActor = movie.find('div',class_='bd')
            # print(mainActor)
            actor = mainActor.find('p',class_='').text
            print('电影导主演:'+actor.strip())
            #获取评分
            score = movie.find('span',class_='rating_num').text
            print('评分:'+score)

text函数

text获取到的是该标签内的纯文本信息,即便是在它的子标签内,也能拿得到。但提取属性的值,只能提取该标签本身的

from bs4 import BeautifulSoup

bs = BeautifulSoup('<p><a>惟有痴情难学佛</a>独无媚骨不如人</p>','html.parser')
tag = bs.find('p')
print(tag.text)

输出:
惟有痴情难学佛独无媚骨不如人

数据存储

Excel操作

操作Excel依赖安装

openpyxl官网:https://openpyxl.readthedocs.io/en/stable/

pip install openpyxl

写Excel示例

import openpyxl
# 利用openpyxl.Workbook()函数创建新的workbook(工作簿)对象,就是创建新的空的Excel文件
wb = openpyxl.Workbook()
# wb.active 获取工作簿的活动表,通常就是第一个工作表
sheet = wb.active
# 可以用.title给工作表重命名。现在第一个工作表名称会由原来默认的'sheet1'改为'new title'
sheet.title = 'new title'

# sheet['A1'] = '漫威宇宙'
# row = ['美国队长','钢铁侠','蜘蛛侠']
# sheet.append(row)
# 声明每行的内容
rows = [['美国队长','钢铁侠','蜘蛛侠'],['是','漫威','宇宙','经典','人物']]
#遍历进行添加
for i in rows:
    sheet.append(i)
#进行文件保存
wb.save('D://Marver.xlsx')

读Excel示例

import openpyxl

# 读取本地文件
wb = openpyxl.load_workbook('D://Marver.xlsx')
sheet = wb['new title']
sheetName = wb.sheetnames
print(sheetName)
A1_cell = sheet['A1']
A1_value = A1_cell.value
print(A1_value)

CSV文件操作

csv为python内置,不需要进行安装

csv官网:
https://yiyibooks.cn/xx/python_352/library/csv.html#module-csv

写示例

import csv

# 调用open()函数打开csv文件,传入参数:文件名、写入模式、内容、编码
csv_file = open('D://demo.csv','w',newline='',encoding='utf-8')
# 用csv.writer()函数创建一个writer对象
writer = csv.writer(csv_file)
# 写入内容
writer.writerow(['电影','豆瓣评分'])
writer.writerow(['银河护卫队','8.0'])
writer.writerow(['复仇者联盟','8.1'])
#写入完成后,关闭文件
csv_file.close()

读示例

import csv

#读入csv文件
csv_file = open('D://demo.csv','r',newline='',encoding='utf-8')
# 读入流
reader = csv.reader(csv_file)
# 遍历读取
for row in reader:
    print(row)
# 关闭文件
csv_file.close()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/936707.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Comparator.comparing 排序注意

1. 对数字型字符串排序 List<String> values new ArrayList<>();values.add("10");values.add("6");values.add("20");values.add("30");values.add("50");//方法1 &#xff08;正确的排序方法&#xff09;//倒…

Go有限状态机实现和实战

Go有限状态机实现和实战 有限状态机 什么是状态机 有限状态机&#xff08;Finite State Machine, FSM&#xff09;是一种用于建模系统行为的计算模型&#xff0c;它包含有限数量的状态&#xff0c;并通过事件或条件实现状态之间的转换。FSM的状态数量是有限的&#xff0c;因此称…

Linux shell的七大功能 --- history

1.直接输入“history” 这个命令可以显示出曾经使用过的命令&#xff08;最近时间的500条&#xff09; history 2.“history”命令也可以搭配其他命令一起使用。 例&#xff1a;history | grep "vim"&#xff0c;找出所有包含“vim”的记录&#xff1b; 也可以搭配…

精品基于Python实现的微信小程序校园导航系统-微信小程序

[含文档PPT源码等] [包运行成功永久免费答疑辅导] 《django微信小程序校园导航系统》该项目采用技术Python的django框架、mysql数据库 &#xff0c;项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、核心代码介绍视频等 软件开发环境及开发工具&#xf…

Ubuntu18安装后基本配置操作

1. 关掉自动更新 不关掉自动更新&#xff0c;会将你的ubuntu系统更新到更高版本&#xff0c;一些配置就不能用了&#xff0c;所以要关掉自动更新。在“软件和更新”中将“自动检查更新”设置为从不。 2. ubuntu换国内源 参考链接换源 按照这个换源这个换源好使 &#xff0c;…

FastAPI简介

FastAPI简介 一、FastAPI简介二、FastAPI安装2.1 使用pip安装FastAPI2.2 FastAPI的demo2.3 FastAPI的程序结构 三、装饰器请求方法四、用户请求4.1 路径参数4.1.1 单个路径参数4.1.2 多个路径参数4.1.3 固定路径和路径参数的冲突 4.2 查询参数4.3 默认参数4.4 可选参数 五、请求…

关于Postgresql旧版本安装

抛出问题 局点项目现场&#xff0c;要求对如下三类资产做安全加固&#xff0c;需要在公司侧搭建测试验证环境&#xff0c;故有此篇。 bclinux 8.2 tomcat-8.5.59 postgrel -11 随着PG迭代&#xff0c;老旧版本仅提供有限维护。如果想安装老版本可能就要费劲儿一些。现在&…

金融信息分析基础(1)

1.金融数据 金融数据分为&#xff1a;交易数据&#xff08;低频数据&#xff0c;高频数据&#xff0c;超高频数据&#xff09;&#xff0c;报表数据&#xff08;财务报表&#xff0c;研报&#xff09;&#xff0c;金融社交媒体数据 低频数据&#xff1a; 以日、周、月、季、年…

C# 网络编程--关于UDP 通信(二)

UDP (User Datagram Protocol) 是一种无连接的传输层协议&#xff0c;主要用于支持数据报文的传输。它的主要特点包括简单、高效、不保证可靠性和顺序。 1.UDP协议基本概念 1.udp基于IP的简单的协议&#xff0c;不可靠的协议 2.优点&#xff1a;简单、 轻量化、 传输速度高、…

1 汇编语言

课程概要 人与人沟通需要使用到语言&#xff0c;人与计算机沟通也需要一种语言进行&#xff0c;你要跟计算机进行沟通&#xff0c;必须要使用计算机可以识别的语言&#xff0c;这种语言我们称之为机器语言&#xff0c;也就是0和1&#xff0c;二进制。 但对于人来说机器语言&a…

每天40分玩转Django:简介和环境搭建

Django简介和环境搭建 一、课程概述 学习项目具体内容预计用时Django概念Django框架介绍、MVC/MTV模式、Django特点60分钟环境搭建Python安装、pip配置、Django安装、IDE选择45分钟创建项目项目结构、基本配置、运行测试75分钟实战练习创建个人博客项目框架60分钟 二、Djang…

AI学习记录 - 依据 minimind 项目入门

想学习AI&#xff0c;还是需要从头到尾跑一边流程&#xff0c;最近看到这个项目 minimind, 我也记录下学习到的东西&#xff0c;需要结合项目的readme看。 1、github链接 https://github.com/jingyaogong/minimind?tabreadme-ov-file 2、硬件环境&#xff1a;英伟达4070ti …

对象键值对的修改

一&#xff1a;一个对象&#xff0c;过滤掉键对应的值是空数组的键&#xff0c;保留值不是空数组的键值对 const obj {a: [1, 2, 3],b: [],c: [4, 5],d: [],e: [6] };// 过滤掉值为空数组的键值对 const filteredObj Object.fromEntries(Object.entries(obj).filter(([key, v…

Java基础知识(四) -- 面向对象(中)

1.封装 1.1 概述 面向对象编程语言是对客观世界的模拟&#xff0c;客观世界里每一个事物的内部信息都是隐藏在对象内部的&#xff0c;外界无法直接操作和修改&#xff0c;只能通过指定的方式进行访问和修改。封装可以被认为是一个保护屏障&#xff0c;防止该类的代码和数据被其…

02. Docker:安装和操作

目录 一、Docker的安装方式 1、实验环境准备 1.1 关闭防火墙 1.2 可以访问网络 1.3 配置yum源 2、yum安装docker 2.1 安装docker服务 2.2 配置镜像加速 2.3 启动docker服务 3、二进制安装docker 3.1 下载或上传安装包并解压 3.2 配置使用systemctl管理 3.3 配置镜像…

【人工智能】OpenAI O1模型:超越GPT-4的长上下文RAG性能详解与优化指南

在人工智能&#xff08;AI&#xff09;领域&#xff0c;长上下文生成与检索&#xff08;RAG&#xff09; 已成为提升自然语言处理&#xff08;NLP&#xff09;模型性能的关键技术之一。随着数据规模与应用场景的不断扩展&#xff0c;如何高效地处理海量上下文信息&#xff0c;成…

#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍01

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…

华为FreeBuds Pro 4丢了如何找回?(附查找功能使用方法)

华为FreeBuds Pro 4查找到底怎么用&#xff1f;华为FreeBuds Pro 4有星闪精确查找和离线查找&#xff0c;离线查找功能涵盖播放铃声、导航定位、星闪精确查找、上线通知、丢失模式、遗落提醒等。星闪精确查找是离线查找的子功能&#xff0c;当前仅华为FreeBuds Pro 4充电盒支持…

Python爬虫之Scrapy框架基础入门

Scrapy 是一个用于Python的开源网络爬虫框架&#xff0c;它为编写网络爬虫来抓取网站数据并提取结构化信息提供了一种高效的方法。Scrapy可以用于各种目的的数据抓取&#xff0c;如数据挖掘、监控和自动化测试等。 【1】安装 pip install scrapy安装成功如下所示&#xff1a;…

【电子元器件】电感基础知识

本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时&#xff0c;也能帮助其他需要参考的朋友。如有谬误&#xff0c;欢迎大家进行指正。 一、 电感的基本工作原理 1. 电感的基本工作原理如下&#xff1a; &#xff08;1&#xff09; 当线圈中有电流通过时&#…