编程语言
首页 > 编程语言> > 20211305魏子俊《Python程序设计》实验四Python综合实践实验报告

20211305魏子俊《Python程序设计》实验四Python综合实践实验报告

作者:互联网

课程:《Python程序设计》
班级:2113
姓名:魏子俊
学号:20211305
实验教师:王志强
实验日期:2022年5月28日
必修/选修:公选课

实验内容

Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
课代表和各小组负责人收集作业(源代码、视频、综合实践报告)

注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。

批阅:注意本次实验不算做实验总分,前三个实验每个实验10分,累计30分。本次实践算入综合实践,打分为25分。
评分标准:
(1)程序能运行,功能丰富。(需求提交源代码,并建议录制程序运行的视频)10分
(2)综合实践报告,要体现实验分析、设计、实现过程、结果等信息,格式规范,逻辑清晰,结构合理。10分。
(3)在实践报告中,需要对全课进行总结,并写课程感想体会、意见和建议等。5分

(4)如果没有使用华为云服务(ECS或者MindSpore均可),本次实践扣10分。

注意:每个人的实验不能重复,课代表先统计大家做的内容并汇总,有重复的需要自行协商。

实验代码

爬虫爬取百度热搜榜内容,存入文件,并制作成可视化二维码,通过手机扫描二维码,可以获取百度热搜内容。
爬虫爬取百度热搜榜.py

import requests

from bs4 import BeautifulSoup

from datetime import datetime

headers = {
    'User-Agent':"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 "
                 "Safari/537.36 SLBrowser/7.0.0.12151 SLBChan/103"
}
response = requests.get("https://www.baidu.com/", headers=headers)
features="html.parser"
bsObj = BeautifulSoup(response.text)
resDate = response.headers.get('Date')
print(resDate)
nameList = bsObj.findAll("li", {"class": {"hotsearch-item odd", "hotsearch-item even"}})
tests = []
for name in nameList:
    tests.append(name.getText())
tests.sort()
with open('1.txt','w',encoding='utf-8') as f:
    for news in tests:
        news = news[0:1] + " " + news[1:]
        print(news)
        f.write(news+'\n') 

1.txt文件内容

import qrcode

with open('1.txt','r',encoding='utf-8') as f:
    list =[]
    for i in f:
        i = i.split("热")[0]
        i = i.split("\ue62e ")[-1]
        i = i.strip("\n")
        list.append(i)
    print(list)
    a=list[0]
    b=list[1]
    c=list[2]
    d = list[3]
    e = list[4]
    f=list[5]
qr = qrcode.QRCode()
qr.add_data(a+'\n')
qr.add_data(b+'\n')
qr.add_data(c+'\n')
qr.add_data(d+'\n')
qr.add_data(e+'\n')
qr.add_data(f+'\n')
img = qr.make_image()
img.save("some_file.png")

实验过程

1.首先在python中下好requests库、bs4库和datetime库
2.headers为请求头,我在百度首页上找到了我的机器的用户代理,使网站服务器可以识别我的机器的操作系统版本、CPU版本、浏览器版本等信息。使用requests模块的方法向目标url发送携带请求头的请求,调用bs4模块解析html源码,调用datetime库获取response.headers的时间。
3.找到热搜榜的类,并添加热搜榜的内容,创建列表并将列表排序存入1.txt文件中。
4.调用qrcode库,由于qr.add_data()函数不能直接提取文件中的信息,将文件中的信息以列表的形式提取出来,并去掉前后的没用的编码字符。将每一个元素设置为一个变量存入二维码中在其后加上换行符,生成二维码,“0”代表置顶信息。
5.通过手机扫描二维码会得到相应百度热搜的信息。


在华为云上运行代码


通过本次实践上网学习了爬虫的相关知识,大致了解了爬虫的相关信息,并可以爬取一些网站信息,在这次实践过程中也出现了许多问题。

问题与解决方法

课程总结、感悟

标签:qr,Python,list,20211305,python,add,实验,data,魏子俊
来源: https://www.cnblogs.com/wzj1234/p/16321991.html