【Python爬虫】猫眼电影榜单Top100

2023-05-16

这是一个入门级的Python爬虫,结构易于理解。本文对编写此爬虫的全过程进行了讲述。希望对大家的Python爬虫学习有所帮助。

一、目标

爬取猫眼电影榜单Top100,将数据存入Excel文件中,并利用pyecharts库进行数据可视化得到.html文件和.png文件。

二、内容

主要包括四个阶段:爬取网页全部数据、获取数据并进行处理、数据存储、数据可视化。

1、 爬取网页全部数据

通过requests.get()获得页面数据,使用etree.HTML()将字符串数据转变成_Element对象,并存储在列表中。

使用循环获得全部页面(共10页)的数据。

2、 获取数据并进行处理

使用xpath()方法对_Element对象进行解析,以获得所需要的信息。通过此方法可以获得所有电影的信息:电影名、主演、上映时间、评分(整数部分及小数部分)。

对数据进行进一步的处理:

  • 将主演原始数据中的反义字符’\n’、空格’ '以及“主演:”去除;
  • 将上映时间原始数据中的“上映时间:”去除;
  • 将评分的整数部分以及小数部分合并。

最后,将处理过的数据存储在列表中。

3、 数据存储

将爬取的数据放入一个Excel文件中,以实现对数据的长期存储。

4、数据可视化

利用pyecharts实现数据可视化。

统计猫眼电影Top100榜单中电影上映月份,生成echarts柱状图,并对图片进行渲染,将生成的文件存储到工程文件目录下。

三、运行结果

运行程序,控制台输出情况:
在这里插入图片描述

工程文件夹下生成了“好片月份分布.html”、“好片月份分布.png”以及“猫眼电影榜单Top100.xls”文件:
在这里插入图片描述

“猫眼电影榜单Top100.xls”文件内容(部分截图):

在这里插入图片描述

“好片月份分布.html”文件内容(去掉一个不含月份信息的数据,共99部电影分布情况):
在这里插入图片描述

“好片月份分布.png”文件内容:

在这里插入图片描述

观察生成的柱状图,可以发现在榜单中的电影竟然没有一部是在2月上映的,9月和12月上映的好片最多。

四、过程

1、爬取网页全部数据实现过程

观察网页地址找出榜单地址变化规律。每页十部电影,共10页。切换页面‘offset=’后的数字发生变化,为[0,10,20,…,90]。因此所有页面的网址为:

board_urls = ['https://maoyan.com/board/4?offset={0}'.format(i) for i in range(0, 100, 10)]

按F12进入元素审查,选择Network选型卡,找到“4?offset=0”文件。

在这里插入图片描述

查看此文件的Headers内容,找到‘User-Agent’和 ‘Cookie’。

在这里插入图片描述

请求数据时将由‘User-Agent’和 ‘Cookie’组成的headers一起传入即可模拟浏览器对网站进行访问,并绕过滑块拼图验证。

 headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
        'Cookie': 'mta=222214055.1603977692790.1605667197555.1605667216476.84; uuid_n_v=v1; uuid=A8B9B7F019E911EB9D95490677AB0FF651894580EC0942CDA95D1D5CD9BEE13D; _lxsdk_cuid=175748545b3c8-0d6dc6ca2c5b4d-3c634103-144000-175748545b3c8; _lxsdk=A8B9B7F019E911EB9D95490677AB0FF651894580EC0942CDA95D1D5CD9BEE13D; _lx_utm=utm_source%3DBaidu%26utm_medium%3Dorganic; __mta=222214055.1603977692790.1605606918555.1605606922430.33; _csrf=e50e37a20022fed414d7d479d61fb627bd72f61c2be692b12edc786fdb91dea2; Hm_lvt_703e94591e87be68cc8da0da7cbd0be2=1604192299,1605603303,1605612340,1605665922; Hm_lpvt_703e94591e87be68cc8da0da7cbd0be2=1605667216; _lxsdk_s=175d9259dda-76-0bc-84b%7C%7C32'}

使用etree.HTML()将获取的数据转换成_Element对象存入列表中。使用循环,将10页的全部内容都存入此列表中。

# 从网页爬取数据
def scraping():
    board_urls = ['https://maoyan.com/board/4?offset={0}'.format(i) for i in range(0, 100, 10)]
    # 'User-Agent':模拟浏览器访问
    # 'Cookie':模拟登录,绕过滑动拼图验证
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
        'Cookie': 'mta=222214055.1603977692790.1605667197555.1605667216476.84; uuid_n_v=v1; uuid=A8B9B7F019E911EB9D95490677AB0FF651894580EC0942CDA95D1D5CD9BEE13D; _lxsdk_cuid=175748545b3c8-0d6dc6ca2c5b4d-3c634103-144000-175748545b3c8; _lxsdk=A8B9B7F019E911EB9D95490677AB0FF651894580EC0942CDA95D1D5CD9BEE13D; _lx_utm=utm_source%3DBaidu%26utm_medium%3Dorganic; __mta=222214055.1603977692790.1605606918555.1605606922430.33; _csrf=e50e37a20022fed414d7d479d61fb627bd72f61c2be692b12edc786fdb91dea2; Hm_lvt_703e94591e87be68cc8da0da7cbd0be2=1604192299,1605603303,1605612340,1605665922; Hm_lpvt_703e94591e87be68cc8da0da7cbd0be2=1605667216; _lxsdk_s=175d9259dda-76-0bc-84b%7C%7C32'}

    # 获得全部页面信息存入列表中
    board_html = []
    for board_url in board_urls:
        board_url_data = requests.get(board_url, headers=headers)
        board_url_html = etree.HTML(board_url_data.content.decode('UTF-8'))
        if board_url_html == None:
            print("爬取失败。。。")
        else:
            print(board_url + '爬取成功')
        board_html.append(board_url_html)
        time.sleep(0.5)
    return board_html

第一部分到此结束。

2、 获取数据并进行处理实现过程

查看HTML文件,可以看到我们准备爬取的相关信息。
在这里插入图片描述

在需要获取的内容上点击右键,即可复制此属性的XPath。

在这里插入图片描述
例如://*[@id=“app”]/div/div/div[1]/dl/dd[1]/div/div/div[1]/p[1]/a

但这只是第一个电影的属性及内容。将‘dd’后的下标删除后即可获得本页所有电影的相同信息。

即://*[@id=“app”]/div/div/div[1]/dl/dd/div/div/div[1]/p[1]/a即可。

同理可以获得电影名称、主演、上映时间以及评分(整数及小数部分)的全部数据。

获取原始数据后,需要对数据进行处理:

  • 将主演原始数据中的反义字符’\n’、空格’ '以及“主演:”去除;
star.append(str(star_org[i]).replace('\n', '').strip()[3:])
  • 将上映时间原始数据中的“上映时间:”去除;
releastime.append(str(releastime_org[i])[5:])
  • 将评分的整数部分以及小数部分合并。
score.append(str(float(integer[i][0]) + float(fraction[i]) * 0.1))

最终获得干净整洁的数据。

# 处理数据
def data_processing(board_html):
    # 解析排名、电影名、主演、上映时间、评分数据
    index = [i for i in range(1, 101)]
    name = []
    star_org = []
    star = []
    releastime_org = []
    releastime = []
    integer = []
    fraction = []
    score = []

    # 数据预处理
    for page_html in board_html:
        name.extend(page_html.xpath('//*[@id="app"]/div/div/div[1]/dl/dd/div/div/div[1]/p[1]/a/@title'))
        star_org.extend(page_html.xpath('//*[@id="app"]/div/div/div[1]/dl/dd/div/div/div[1]/p[2]/text()'))
        releastime_org.extend(page_html.xpath('//*[@id="app"]/div/div/div[1]/dl/dd/div/div/div[1]/p[3]/text()'))
        integer.extend(page_html.xpath('//*[@id="app"]/div/div/div[1]/dl/dd/div/div/div[2]/p/i[1]/text()'))
        fraction.extend(page_html.xpath('//*[@id="app"]/div/div/div[1]/dl/dd/div/div/div[2]/p/i[2]/text()'))

    # 对数据精细处理
    for i in range(0, 100):
        # 将star_org中的反义字符'\n'、空格' '以及“主演:”去除
        star.append(str(star_org[i]).replace('\n', '').strip()[3:])
        # 将releastime_org中的“上映时间:”去除
        releastime.append(str(releastime_org[i])[5:])
        # 将评分的整数部分以及小数部分合并
        score.append(str(float(integer[i][0]) + float(fraction[i]) * 0.1))

    # data中存入经过处理的所有数据
    data = [index, name, star, releastime, score]
    return data

至此,第二阶段结束。

3、 数据存储实现过程

通过参数传递获取第二阶段取得的数据,使用xlwt库将数据写入Excel文件中。

将数据存入Excel文件的本质就是将数据一个单元格一个单元格的存入表格中。最后将文件保存即可。

# 将爬取到的数据存入Excel文件中
import xlwt


def build_excel_file(data):
    # 创建一个Excel文件
    f = xlwt.Workbook(encoding='UTF-8')
    # 创建一个sheet
    sheet1 = f.add_sheet(u'猫眼电影榜单Top100', cell_overwrite_ok=True)
    title = ['排名', '电影名称', '主演', '上映时间', '评分']
    # 写入列名
    for i in range(len(title)):
        sheet1.write(0, i, title[i])
    # 填写数据
    for i in range(1, 101):
        for j in range(len(title)):
            sheet1.write(i, j, data[j][i - 1])
    f.save('猫眼电影榜单Top100.xls')

第三阶段的数据存储结束。

4、数据可视化实现过程

观察获取到的数据,思考可以进行哪些分析。

我对“榜单中的电影上映时间的月份分布”比较感兴趣,遂将其定为可视化分析目标。

首先,从第二阶段获得的数据中的上映时间获取出月份信息,并统计每个月份的出现次数。由于有电影的上映时间里并没有月份,所以要对获取的数据进行处理,将不含月份信息的数据剔除。

然后使用pyecharts.charts中的Bar生成柱状图。值得注意的是pyecharts的0.5.x版本与1以上版本不兼容,并且有很大的变化。

关于pyecharts更多内容请查看pyecharts项目的Github网页。

在这里插入图片描述

采用链式调用方式添加柱状图的数据及配置项,并使用 snapshot-selenium渲染图片,生成.html文件和.png文件,存储在项目文件下。
snapshot-selenium 是 pyecharts + selenium 渲染图片的扩展,使用 selenium 需要配置 browser driver。

# 可视化
from pyecharts.charts import Bar
import pyecharts.options as opts
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot


def build_bar_chart(data) -> Bar:
    # 设置行名
    columns = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
    # 分析上映时间数据
    num = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    for time in data[3]:
        # 提取电影上映的月份
        month = time[5:7]
        # 若没有月份数据就跳过
        if month.isdigit():
            num[int(month) - 1] += 1
    # 添加柱状图的数据及配置项
    c = (
        Bar()
            # 设置X轴内容
            .add_xaxis(columns)
            # 设置Y轴内容
            .add_yaxis("上映电影数量", num)
            # 设置主标题以及副标题
            .set_global_opts(title_opts=opts.TitleOpts(title="好片月份分布", subtitle="猫眼电影榜单Top100上映的月份分布情况"))
    )
    return c

至此,整个项目就都结束了。

五、完整代码

import time
import requests
from lxml import etree


# 从网页爬取数据
def scraping():
    board_urls = ['https://maoyan.com/board/4?offset={0}'.format(i) for i in range(0, 100, 10)]
    # 'User-Agent':模拟浏览器访问
    # 'Cookie':模拟登录,绕过滑动拼图验证
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
        'Cookie': 'mta=222214055.1603977692790.1605667197555.1605667216476.84; uuid_n_v=v1; uuid=A8B9B7F019E911EB9D95490677AB0FF651894580EC0942CDA95D1D5CD9BEE13D; _lxsdk_cuid=175748545b3c8-0d6dc6ca2c5b4d-3c634103-144000-175748545b3c8; _lxsdk=A8B9B7F019E911EB9D95490677AB0FF651894580EC0942CDA95D1D5CD9BEE13D; _lx_utm=utm_source%3DBaidu%26utm_medium%3Dorganic; __mta=222214055.1603977692790.1605606918555.1605606922430.33; _csrf=e50e37a20022fed414d7d479d61fb627bd72f61c2be692b12edc786fdb91dea2; Hm_lvt_703e94591e87be68cc8da0da7cbd0be2=1604192299,1605603303,1605612340,1605665922; Hm_lpvt_703e94591e87be68cc8da0da7cbd0be2=1605667216; _lxsdk_s=175d9259dda-76-0bc-84b%7C%7C32'}

    # 获得全部页面信息存入列表中
    board_html = []
    for board_url in board_urls:
        board_url_data = requests.get(board_url, headers=headers)
        board_url_html = etree.HTML(board_url_data.content.decode('UTF-8'))
        if board_url_html == None:
            print("爬取失败。。。")
        else:
            print(board_url + '爬取成功')
        board_html.append(board_url_html)
        time.sleep(0.5)
    return board_html


# 处理数据
def data_processing(board_html):
    # 解析排名、电影名、主演、上映时间、评分数据
    index = [i for i in range(1, 101)]
    name = []
    star_org = []
    star = []
    releastime_org = []
    releastime = []
    integer = []
    fraction = []
    score = []

    # 数据预处理
    for page_html in board_html:
        name.extend(page_html.xpath('//*[@id="app"]/div/div/div[1]/dl/dd/div/div/div[1]/p[1]/a/@title'))
        star_org.extend(page_html.xpath('//*[@id="app"]/div/div/div[1]/dl/dd/div/div/div[1]/p[2]/text()'))
        releastime_org.extend(page_html.xpath('//*[@id="app"]/div/div/div[1]/dl/dd/div/div/div[1]/p[3]/text()'))
        integer.extend(page_html.xpath('//*[@id="app"]/div/div/div[1]/dl/dd/div/div/div[2]/p/i[1]/text()'))
        fraction.extend(page_html.xpath('//*[@id="app"]/div/div/div[1]/dl/dd/div/div/div[2]/p/i[2]/text()'))

    # 对数据精细处理
    for i in range(0, 100):
        # 将star_org中的反义字符'\n'、空格' '以及“主演:”去除
        star.append(str(star_org[i]).replace('\n', '').strip()[3:])
        # 将releastime_org中的“上映时间:”去除
        releastime.append(str(releastime_org[i])[5:])
        # 将评分的整数部分以及小数部分合并
        score.append(str(float(integer[i][0]) + float(fraction[i]) * 0.1))

    # data中存入经过处理的所有数据
    data = [index, name, star, releastime, score]
    return data


# 将爬取到的数据存入Excel文件中
import xlwt


def build_excel_file(data):
    # 创建一个Excel文件
    f = xlwt.Workbook(encoding='UTF-8')
    # 创建一个sheet
    sheet1 = f.add_sheet(u'猫眼电影榜单Top100', cell_overwrite_ok=True)
    title = ['排名', '电影名称', '主演', '上映时间', '评分']
    # 写入列名
    for i in range(len(title)):
        sheet1.write(0, i, title[i])
    # 填写数据
    for i in range(1, 101):
        for j in range(len(title)):
            sheet1.write(i, j, data[j][i - 1])
    f.save('猫眼电影榜单Top100.xls')


# 可视化
from pyecharts.charts import Bar
import pyecharts.options as opts
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot


def build_bar_chart(data) -> Bar:
    # 设置行名
    columns = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
    # 分析上映时间数据
    num = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    for time in data[3]:
        # 提取电影上映的月份
        month = time[5:7]
        # 若没有月份数据就跳过
        if month.isdigit():
            num[int(month) - 1] += 1
    # 添加柱状图的数据及配置项
    c = (
        Bar()
            # 设置X轴内容
            .add_xaxis(columns)
            # 设置Y轴内容
            .add_yaxis("上映电影数量", num)
            # 设置主标题以及副标题
            .set_global_opts(title_opts=opts.TitleOpts(title="好片月份分布", subtitle="猫眼电影榜单Top100上映的月份分布情况"))
    )
    return c


def main():
    print("################程序运行开始################")
    print("<---------------开始爬取数据--------------->")
    board_html = scraping()
    print("<---------------数据爬取完成--------------->")
    print("<---------------开始处理数据--------------->")
    data = data_processing(board_html)
    print("<---------------数据处理完成--------------->")
    print("<---------------开始存储数据--------------->")
    print("将爬取数据存入Excel文件:")
    build_excel_file(data)
    print("<---------------数据存储完成--------------->")
    print("<--------------开始可视化数据-------------->")
    print("生成echarts柱状图(.html && .png)")
    print("渲染图片中。。。")
    make_snapshot(snapshot, build_bar_chart(data).render("好片月份分布.html"), "好片月份分布.png")
    print("<--------------数据可视化完成-------------->")
    print("################程序运行结束################")


if __name__ == '__main__':
    main()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Python爬虫】猫眼电影榜单Top100 的相关文章

  • 创建Maven项目时候弹出setup maven plugin connection解决方案

    今天创建一个maven项目的时候弹出了setup maven plugin connection xff0c 然后有两个选择 xff0c 我们直接选择auto select继续下一步 xff0c 然后等待一下 xff0c 把此页面关掉 然后
  • 基于BERT的知识库问答系统(KBQA)

    基于BERT的知识库问答系统 xff08 KBQA xff09 简介 知识库问答系统主要要做的两点分别是识别问题中的实体和提取问题中我们需要从知识库中查找的属性 xff0c 针对这两个方面我采用了NLP预训练模型BERT分别训练了基于BER
  • libc6-dev : 依赖: libc6 (= 2.23-0ubuntu3) 但是 2.23-0ubuntu10 正要被安装

    无法安装libc6 dev 如果出现下面错误 xff1a 在装libc6 dev时下列的软件包有不能满足的依赖关系 xff1a libc6 dev 依赖 libc6 61 2 23 0ubuntu3 但是 2 23 0ubuntu10 正要
  • VScode使用sftp远程修改文件

    一 下载插件 二 创建任意一个文件夹 sftp插件是在文件夹下生效的 因为你要在文件夹下进行sftp的配置 以及打开远程文件 三 配置远程连接配置 快捷键 Ctrl 43 Shift 43 P 打开config span class tok
  • iOS 上接入Lottie动画 接入Json动画

    iOS设备上的动画借助官方SDK xff1a CoreAnimation那一套已经比较强大了 xff0c 基本上的动效都能实现 xff0c 就是1 开发这边比较累 xff1b 2 安卓那边也比较累况且 俩平台最后展示的可能有些细节还不一样
  • 安装pysyft联邦框架和pysyft代码案例

    pysyft联邦框架 1 新建虚拟环境2 安装pysyft3 安装jaxlib4 安装完成5 安装结果测试6 注意事项7 pysyft框架联邦案例8 一些优秀教程9 报错解决办法 1 新建虚拟环境 由于pysyft和pytorch之间有版本
  • Ps1终端提示符的参数设置

    1 了解PS1 PS1 61 u 64 h W PS1的常用参数以及含义 d xff1a 代表日期 xff0c 格式为weekday month date xff0c 例如 xff1a Mon Aug 1 H xff1a 完整的主机名称 h
  • Python3 实现简单的生命游戏

    Python3 实现简单的生命游戏 生命游戏是英国数学家约翰 何顿 康威在1970年发明的细胞自动机 生命游戏原理 细胞自动机 xff08 又称元胞自动机 xff09 xff0c 名字虽然很深奥 xff0c 但是它的行为却是非常美妙的 所有
  • 图论

    图是数据结构和算法学中最强大的框架之一 xff08 或许没有之一 xff09 图 xff08 graph xff09 并不是指图形图像 xff08 image xff09 或地图 xff08 map xff09 通常来说 xff0c 我们会
  • 【Python】【Pygame】游戏:抓球

    来源 xff1a Python编程 从入门到实践 13 5 14 1 14 2 我感觉这个题目继续学习还可以优化 xff0c 是一个不错的小游戏 等我学了记分再来继续改进 抓球 xff08 13 5 xff09 碗在底部左右移动 xff0c
  • Linux MariaDB 主从复制

    安装MariaDB 安装MariaDB教程 主从复制 搭建主从复制数据库不能先建数据库 xff0c 有数据库 xff0c 需要先删除 xff01 xff01 xff01 Master主数据库 主从复制详细参数列表 主服务器MariaDB的
  • Linux MariaDB使用OpenSSL安装SSL证书

    进入到证书存放目录 xff0c 批量删除 pem证书 警告 xff1a 确保已经进入到证书存放目录 find span class token punctuation span span class token operator span
  • Windows Server 2016创建用户、授权、其他用户远程登录、禁止/恢复administrator远程登录

    创建用户和授权管理员 win 43 s搜索控制面板 用户账户 更改账户类型 添加用户账户 完成 更改账户类型 管理员 更改账户类型 允许其他用户远程登录 win 43 s搜索高级系统设置 远程 远程桌面 允许远程连接到此计算机和勾选仅允许运
  • 使用kotlin扩展插件/依赖项简化代码(在最新版本4.0以后,此插件已被弃用,故请选择性学习,以了解为主。)

    1 添加取代findViewById XXX 的插件 xff1b id 39 kotlin android extensions 39 取代findViewById XXX 可以在kotlin代码中直接使用View上的控件id 2 扩展插件
  • 华为Fusion Compute通过存储LUN快照恢复数据

    上一篇博客里边写到了VMware虚拟化通过存储LUN快照恢复数据 xff0c 在里边提到华为虚拟化和其他KVM有区别 xff0c 这是真的血泪史呀 事情是这样的 xff0c 一个客户用的华为云桌面 xff0c 就是普通架构 xff0c 传统
  • 【转】ubuntu linux取消软件密码环和取消输入开机密码

    所用版本 xff1a ubuntu18 xff08 亲测16也成功了 xff09 取消软件密码环 win键打开菜单 gt 搜索pass word gt login选项 gt 右键删除某个密码环 转自 https www cnblogs co
  • 2_3-numpy-cnn-mnist手写数字识别

    numpy实现神经网络系列 工程地址 xff1a https github com yizt numpy neuron network 基础知识 0 1 全连接层 损失函数的反向传播 0 2 1 卷积层的反向传播 单通道 无padding
  • python获取threading线程返回结果

    python获取threading线程返回结果 span class token keyword class span span class token class name MyThread span span class token p
  • ADX的计算方式

    平均趋向指数是衡量趋势的技术工具 xff0c 简称ADX average directional indicator xff0c 它是由韦尔斯 怀尔德在1978年提出 xff0c 与其他技术分析工具不同的是 xff0c ADX并不能判断多空
  • uni app项目中实现vue和html通信

    vue实现 web view 是一个 web 浏览器组件 xff0c 可以用来承载网页的容器 xff0c 会自动铺满整个页面 个人业务 xff08 需要实现一个本地的html文件的内嵌 xff09 xff0c 由于web view是自动铺满

随机推荐

  • uni app实现中英文语言切换

    因为业务需求很多app都是可以多种语言进行切换的 xff0c 以此来方便用户的使用 做语言的切换一定要开发开始的时候就规划好 xff0c 不然确实太麻烦了 xff0c 我是后期开发的语言切换 xff0c 好多个页面都需要进行修改 main
  • uniapp一套代码开发app和微信小程序

    为什么选择uniapp开发 xff1f 为什么选择uniapp进行开发 xff1f 1 uniapp对于独自开发是相当友好的 xff0c 一套代码可以兼容app xff08 安卓 xff0c ios xff09 小程序 xff0c h5等
  • python + selenium的使用 - mac可能出现的问题

    注意服务器部署selenium时 xff0c 代码中一定要添加关闭浏览器驱动的语句 xff08 代码执行结束后不会自动关闭浏览器驱动 xff09 xff0c 否则会导致服务器磁盘被占满 1 安装selenium pip span class
  • 使用Truffle 和 Ganache编译、发布智能合约

    文章目录 Truffle开发框架步骤1 安装Truffle2 查看安装是否成功3 创建没有合约的空工程 xff0c 可以使用 truffle init4 编译Truffle项目的合约truffle compile编译问题 5 构建文件Art
  • 基于Ganache和MetaMask搭建以太坊私有网络

    使用Truffle 和 Ganache 编译 发布智能合约 请参考作者博客https blog csdn net weixin 43958804 article details 109576016 操作步骤 下载ganache https
  • python面试题--统计文件中字母出现的次数

    统计字母出现的次数 fp span class token operator 61 span span class token builtin open span span class token punctuation span span
  • 迁移EFI分区至固态硬盘

    接上回 加装SSD后的第二天 xff0c 我发现原来20s开机的电脑居然变成了30s开机 于是我就开始思考什么问题导致了这个情况 xff0c 根据启动顺序问题 xff0c 我发现可能是安装系统时 xff0c 我没拔下HDD的SATA0接口的
  • go defer,panic,recover详解 go 的异常处理

    转载 https www jianshu com p 63e3d57f285f golang中defer panic recover是很常用的三个特性 xff0c 三者一起使用可以充当其他语言中try catch 的角色 xff0c 而de
  • 重新在虚拟机上安装了centOS7系统

    参考教程 xff1a VMware 安装 Centos7 超详细过程 菜鸟教程
  • centOS安装

    1 安装ImageMagick yum install y ImageMagick 2 安装GhostScript yum install y ghostscript 验证是否安装成功 gs version 3 安装libreoffice
  • 10问10答:你真的了解线程池吗?

    Java开发手册 中强调 xff0c 线程资源必须通过线程池提供 xff0c 而创建线程池必须使用ThreadPoolExecutor 手册主要强调利用线程池避免两个问题 xff0c 一是线程过渡切换 xff0c 二是避免请求过多时造成OO
  • TensorRT 加载模型onnx报错: Error Code 10: Internal Error (Could not find any implementation for node

    1 背景 在TensorRT加载ONNX文件 bert模型 xff09 过程出现如标题所示的错误信息 在相同的代码 xff0c 相同的TensorRT版本 xff0c 在3090 xff08 43 win10 xff09 可以进行正常加载和
  • 【Git】在IDEA拉取master分支到你的开发分支上

    git checkout到master2 git pull xff0c 拉去master最新代码 3 git checkout到你的开发分支 右键项目 选择远程master 确定后如果有冲突 xff0c 则解决冲突即可 弄完最后git pu
  • UNIX环境高级编程-第一章

    1 UNIX体系结构 xff1a 严格意义上说 xff0c 可将操作系统定义为一种软件 xff0c 它控制计算机硬件资源 xff0c 提供程序运行环境 我们通常将这种软件称为内核 xff0c 因为它相对较小 xff0c 而且位于环境的核心
  • AP6275S移植总结

    RK3308B 43 AP6275S移植 在rk3308b平台移植rtl8821cs rlt8821cs是wifi 43 bt一体的模组 xff0c 主要记录下移植过程中需要注意的地方 移植驱动 将rtl8821cs的驱动包复制到rk的SD
  • float类型

    float类型遵循IEEE754标准 xff0c 该标准为32位浮点数规定了二进制表示形式 IEEE754采用二进制的科学计数法来表示浮点数 对于float浮点数 xff0c 用1位表示数字的符号 xff08 浮点数正负性 xff0c 0正
  • 判断点与直线的位置关系

    判断点与直线的位置关系是计算几何里面的一个最基本算法 xff0c 可以使用向量来判断 定义 xff1a 平面上三个点A x1 y1 B x2 y2 C x3 y3 xff0c 判断点C与 A B overr
  • 【知识点总结】大数据技术原理与应用

    大数据技术原理与应用 本文是对 大数据与云计算导论 课程知识点的应试总结 基本涵盖了 大数据技术原理与应用 的重点内容 思维导图由 64 福尔摩东整理 第一章 大数据概述 1 三次信息化浪潮 信息化浪潮发生时间标志解决的问题代表企业第一次浪
  • BlockingQueue

    BlockingQueue 一 阻塞队列基本方法介绍 谈到线程池 xff0c 不得不谈到生产者 消费者模式 xff0c 谈到生产者 消费者 xff0c 就不得不谈到对应的数据结构 xff0c 谈到对应的数据结构不得不言 BlockingQu
  • 【Python爬虫】猫眼电影榜单Top100

    这是一个入门级的Python爬虫 xff0c 结构易于理解 本文对编写此爬虫的全过程进行了讲述 希望对大家的Python爬虫学习有所帮助 一 目标 爬取猫眼电影榜单Top100 xff0c 将数据存入Excel文件中 xff0c 并利用py