欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    初中信息技术--Python编程——【网络爬虫爬数据】.docx

    • 资源ID:35614419       资源大小:194.35KB        全文页数:10页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    初中信息技术--Python编程——【网络爬虫爬数据】.docx

    初中信息技术Python【网络爬虫爬数据】随着信息化社会的到来,万维网已经堆积了大量信息,这就需要我们寻找一种方 式来帮助我们过滤掉无用的信息,并且筛选更多有用的信息作为反应,于是网络爬虫 技术应运而生。在日常生活中,同学们可能听说过网络爬虫这个词,但到底什么是爬 虫,如何利用网络爬虫爬取自己需要的数据呢?通过本节的学习,你将掌握以下技能:* 了解网络爬虫的工作过程*编写程序爬取B站弹幕专题一:初识爬虫在编写爬虫程序之前,我们需要先了解下网络爬虫的概念、爬虫的基本过程和爬 虫的基本架构。1.1 什么是爬虫网络爬虫,也叫网络蜘蛛,它是一段自动访问互联网并从中提取数据的程序。我 们浏览的每一个网页都对应着唯一的网页地址,即URL,而一个网页中又包含着指向 其他网页的URL ,这种URL相互指向的关系就形成了互联网。为了从互联网中获取需 要的信息,以前我们需要人工翻开网页进行检索,但是有了爬虫后,我们就可以借助 网络爬虫自动获取网络上的信息并从中提取有价值的数据。网络爬虫按照系统结构和 实现技术,大致可以分为以下几种类型:通用网络爬虫、聚焦网络爬虫、增量式网络 爬虫、深层网络爬虫。D、json 和 xml2、在编写爬虫程序爬取数据时,以下观点正确的选项是()A、互联网是开放的,所有数据都可为我所用B、站点不让爬取的数据偷偷爬取不被发现就好C、遵守Robots协议,不做“恶意爬虫”D、网络爬虫有风险,最好不要学人工URL是统一资源定位符(Uniform Resource Locator )的英文缩写,也就是我们常 说的网址,比方大家熟悉的百度搜索地址就是一个URLO互联 网上的每一个URL都是唯一的,URL指出了资源的具体位置以及浏览器如何处理这些 资源。在大数据时代,信息的采集是一项重要的工作,因此我们可以使用网络爬虫对数 据信息进行自动采集并合理处理这些信息以方便我们的工作和生活,比方我们可以爬 取热门新闻形成一个新闻聚合阅读器、爬取好笑的故事制作一款爆笑故事APP、爬取 不同网站的图书价格做比照等等。大数据时代离不开爬虫,在未来,爬虫的地位会越 来越重要。1.2 爬虫的基本过程爬虫的基本过程分为4个步骤,即向服务器发起请求、获取响应内容、解析内容 和保存数据。1、向服务器发起请求。服务器是提供数据的设备,而发起数据请求的设备叫做客 户端。在客户端获取服务资源前需要先和服务器建立连接。当我们在地址栏输入网址 按下回车键后即向服务器发起了请求,如输入后浏览器会先将该URL解析成IP地址14.215.177.39 #然后通过TCP三次握手与百度服务器建立连接,并发起 请求,即 Request ;2、获取响应内容。服务器在接收到客户端发送来的Request后,会根据客户端的 请求找到客户端需要的资源文件,然后打包发送给客户端,即Response ;3、解析内容。客户端获取到服务器发来的数据后,开始解析内容,解析的数据可 以是图片、视频、html数据、json数据等;4、保存数据。将解析的数据以文本或数据库的形式存储下来。由此我们可以得出一个简单爬虫架构:其中,爬虫调度端主要是负责爬虫的启动、停止以及监视爬虫的调度情况;在爬 虫程序中,URL管理器主要负责管理未爬取的URL集合和已爬取的URL集合,防止 重复或循环爬取;网页下载器是指将互联网上URL对应的网页下载到本地的工具,在 Python中常用的网页下载器有Python官方基础模块urllib2和第三方库requests ;网页 解析器是从网页中提取有价值数据的工具,主要有re正那么匹配、Python自带的 html.parser模块、第三方库BeautifulSoup、xpath、Ixm库等;网页解析器将有价值的数据输出形成价值数据。爬虫程序在执行时,首先从URL管理器中获取一个待爬取的URL ,然后该URL 传送给网页下载器,网页下载器将URL指定的网页下载下来并存储成一个字符串,然 后传送给网页解析器解析,网页解析器一方面将字符串里包含的新的URL传送给URL 管理器,另一方面字符串里的有价值的信息形成价值数据并输出保存。专题二:爬取B站弹幕接下来我们爬取一个URL中的数据。为了爬取B站的弹幕,我们采用的网页下载 器为Requests库、网页解析器为BeautifulSoup库,BeautifulSoup库能够帮助我们在不 用编写正那么表达式情况下也可以方便的实现网页信息提取。在使用之前,我们需要先 安装 Requests 库和 BeautifulSoup 库。2.1安装第三方库点击离线版海龟编辑器菜单栏中的库管理,在弹出的库管理界面选择爬虫,然后 分别点击Requests库和BeautifulSoup库后的安装即可。未登录 文件 。设置,6硬件 。库管理|。运行/发布旧新的作品库管理靠常用库官方游戏爬虫数据处理图袤爬虫RequestsRequestsReque比库可以用来发送请求、处理响应结果;学会Requests库,我们能轻 易调用网络ap】接口,实现爬虫、翻译、智能机器人等各种有趣的效果。Beautiful SoupBeautiful Soup是一个可以从网站抓取数据并解析的Python库。学会 BeautifiilSoup库,我们可以用更简洁、高效的方式编写爬虫程序。2.1编写爬虫程序第一步:导入 Requests 库和 BeautifulSoup 库。1 #爬取B站弹幕数据 2 import requests 3 from bs4 import BeautifulSoup在导入库的时候,注意requests的大小写,在导入BeautifulSoup库时,不能直接 写成import BeautifulSoup ,这是因为BeautifulSoup已经被移植到BS4模块中了,所以 我们在导入 BeautifulSoup 库时还需要导入 bs4 ,即 from bs4 import BeautifulSoupo第二步:找到弹幕的URL地址,这是爬虫的关键步骤。翻开B站的视频连接,如 科技类作品110还:¥¥¥上山13山(01111(1©0/84(4114781;然后按下F12键,翻开开发 者工具栏,选中功能模块Network下的XHR标签并按下F5键刷新页面(如图一), 在刷新出的资源信息中找到list.so?oid= 189825423 (如图二)并双击,弹出的窗口中可 以看到视频中所有弹幕的内容(如图三),这就是我们要找的弹幕信息了。在这一步 中,我们需要保存的是。id后面的编号189825423 , B站每一个视频的弹幕都有着唯一 的编号。注意图二中的Requests URL地址并不是弹幕的实际地址,B站弹幕的实际地 址为 ,在这里将 oid 替换为 189825423 ,即 这就是我们需要爬取的 URL。QElements Console Sources I Network I Performance » X 0, * Q View: = , U Group by frame U Preserve log U Disable cacFilter1 1 Hide data URLsJS CSS Img Media Font Doc WS Manifest Other60000 ms 70000 ms60000 ms 70000 ms10000 ms 20000 ms 30000 ms 40000 ms 50000 ms图Namei 189825423-l-30280.m4s?expi 人 189825423-l-30280.m4s?expi u 189825423-l-30280.m4s?expi 189825423-l-30032.m4s?expi l_ report?cross_domain=true _ report?cross_domain=true 189825423-l-30280.m4s?expi H0list.so?oid=189825423X Headers Preview Response Timing GeneralRequest URL: o?oid=189825423Request Method: GETStatus Code: 6 200Remote Address: 120.92.174.135:443Referrer Policy: no-referrer-when-downgrade Response Headersaccess-control-allow-credentials: trueaccess-control-allow-headers: Origin,No-CacheX-Req d-With,If-Modified-Since?Pragma,Last-Modified,Ci Control, Expires, Content-Type Access-Control-Alli edentialsDNTX-CustomHeaderKeep-Alive,User-Agiweb?001111158Q43645Q4801.图二<d p=-21U.46yUU, 1,23, 157772lb, lb«yZ47b«t>, U, befl IdU,叉b611NUU391U悦 1 ”外长的再苜落人并吊刖女主燃</d<d p=<534,19900, 1,25, 16777215, 1589254210, 0, 1c 135477,32564594622332933”薪分作文。</d><d 尸13.0190Q 1,25,167772应 1589254370,0,dff0b24,32564678676185093“)汶川亲历,四川成都,永远铭记。原一切都好</d><d 尸"212.64000,1,25, 16777215,1589254917,0, £8956388,32564965576015875"王毅! </d><d 尸"68. 87400, 1, 25, 16777215, 1589255031,0, 18f73e5b, 32565025336459267”>想念温爷爷</d><d 尸"98. 65100, 1, 25, 16777215, 1589255077,0, 18f 73e5b, 32565049439551495"温胡十年晒/d<d p=M214.29900, 王外长国±</d><d 2.69000, 1,25, 16777215, 1589255673, 0, 3b85435d, 32565361871159299"说实话,中国不需要向世界展示什么,如果足够自信的话</d><d p="499. 26000, 1,25, 16777215, 1589255688, 0, 6a443ab3,32565369584484419“>点火! ! </d><d p=*537,09800, 1,25, 16777215, 1589256127, 0, adb5de%, 32565600108150791"总分值作文Od><d 尸"3.34300, 1,25, 16777215, 1589256519, 0, 7c373fe8,32565805656309765“我都见证了! </d><d 尸"3.71200, 1, 18, 16777215, 1589256991, 0, 6aa41326,32566052977115141"进来的朋友记得三连,让更多人看到</d><d <160.66000, 1,25, 16777215, 1589257007, 0, 853do94b, 32566061188513799"为什么我的眼里常含泪水,因为我热爱这片土地</d><d 尸"100.37900, 1,25, 16777215, 1589257085, 0, 2790e3ef, 胡爷爷好</d><d 尸"85.46500, 1, 25, 16777215, 1589257726,0,443396f, 32566438400098307"温弟爷0/d><d p="75. 92600, 1, 25, 16777215, 1589258512,0,39abac26, 32566850475261957"温爷爷</d><d p= <462.79800, 1,25, 16777215, 1589259859, 0, a67367d9,32567556810211331 ”>蒲分Gd><dp=%46.89400, 1,25, 16777215, 1589261160, 0,40bc2041,32568238572830723。总分值作文啊! ! </d><d *102.30500.1.25,16777215.1589262417. 0. 678d74ab. 32568897565097989"胡益给胡爷翁</d>图三第三步:创立requests对象抓取URL中的信息,并打印。查看步骤2中的图二可 以发现,弹幕数据的请求方式为GET方式,因此程序中借助requests的get函数对弹 幕地址 发起数据请求。5 webpage = requests.get(' s:')webpage.encoding = 'utf-8'6 print(webpage.text)程序中,为防止抓取到的弹幕出现乱码,我们将获取到的数据webpage的编码格 式设置为“UTF-8",随后将数据打印出来,为什么不直接打印webpage而是 webpage.text呢?这是因为如果直接打印webpage的话会在控制台输出Response 200> 请求成功的状态码,而打印webpage.text时才能将返回数据中的网页数据输出出来。<?xml ver3ion="l. 0" encoding="UTF-8"?xixchatserver>chat .bilibili </chatserverxchatid>189825423</chatidxmi3sion>0</missionxmaxli rcexd p="497.29500,5,25,16776960,1589206985,0,£002£245,32539835383676931"点火! ! </dxd p="506.52800,1,25,15138834,1589237022,0,bc6ac ="210.46900,1,25,16777215,1589247586, 0r长的声音给人非常的平安感 </d><d p="534.19900, 1,25,16777215,158925421 1589254370, 0,<1££(>24,32564678676185093”>汶川亲历,四川成都,永远铭记。虔一切都好</dxd p="212.64000,1, 25,16777215,1589254917,0, f8956388 "68.87400, 1, 25, 16777215, 1589255031,0, 18f73e5b, 32565025336459267”想念温爷爷 </dXd p="98.65100, 1,25, 16777215, 1589255077, 0, 王外长国士 </dXd p="2.69000,1,25, 16777215,1589255673, 0, 3b85435d, 32565361871159299”说实话,甲国不需要I5世界展示 .26000,1,25,16777215,1589255688,0,6a443ab3,32565369584484419”>点火! ! </d><d p="537.09800,1,25,16777215,1589256127,0,adb5de94,325656001 65805656309765”找都见证,! </d><d p="3.71200,1,18,16777215,1589256991, 0, 6aa41326, 3256605297711514L>进来的朋友记得三连,让更多人看到 </ 9257007, Oz853dO94b, 32566061188513799">为什么我的眼里常含泪水,因为我独爱这片土地 </dxd p="100.37900, 1, 25,16777215,1589257085, 0, 2790e3ef 43396f,32566438400098307”>温爷爷 0</dXd p="75.92600,1,25,16777215,1589258512,0,39abac26,32566850475261957”>温爷爷 </dXd p="531.18000,1,第四步:创立BeautifulSoup对象,获取价值数据。因为弹幕的文件保存格式为.xml ,而BeautifulSoup可以高效的解析xml文件,所以网站解析器我们才选择用BeautifulSoupo在步骤三中可以看到获取的数据中有许多我们不需要的信息,因此需 要对抓取到的网页数据进行清洗。7 danmu = Beautif ulSoup( webpage .text' html.parser1)danmu=danmu.find_all(*d *)8 print(danmu)<d p="497.29500,5,25,16776960,1589206985,0,f002f245,32539835383676931。点火! ! 。外长的声音给人左常的平安感 </d>r <d p="534.19900,1,25,16777215,1589254210, 7215,1589254370,0,dff0b24,32564678676185093”汶 jl| 亲历,四 jl| 成物,永远铭记。思一切都好 </d>, <d p="212 031,0,18f73e5b, 32565025336459267。想念温爷爷 </d>, <d p="98.65100,1,25,16777215,1589255077,0r王外长国士</d>, <d p="2.69000, lz 25,16777215,1589255673, 0r 3b8543 89255688,0,6a443ab3,32565369584484419”点火! ! </d>r <d p="537.09800,lr25,16777215,1589256127,0radb5 256519,0,7c373£e8,32565805656309765”找都见证 / ! </d>, <d p="3.71200, lr 18,16777215,1589256991,0, 6aa4程序中在新建BeautifulSoup对象时,需要传递两个参数:需要分析的网页数据 webpage.text和网页数据的解析器html.parser , html.parser用于解析获取到的网页数据。 再次查看弹幕文件中的留言可以看到,每条留言的头尾标签为“d”,因此我们调用 BeautifulSoup的find_all函数提取所有以“d”为标签的数据,再次打印后发现提取的数 据内容只剩下以"d”为标签的局部。第五步:保存弹幕内容。虽然步骤四中的信息已经得到了进一步的筛选,但是仍 然存在一些我们不需要的信息,因为BeautifulSoup对象中的信息是被明确区分为标签、 属性、内容的,其中“d”对应的局部为标签,“p”对应的局部为属性,因此我们将内容 打印即可。7 danmu = BeautifulSoup(webpage.text., 1 html.parser')danmu=danmu.find_all('d1)8 for i in danmu:9 print(i.string)控制台占火IIJ、/、 点火菜长的声音给人非常的平安感总分值作文。汶川亲历,四川成都,永远铭记。堤一切都好 王毅!程序中,借助for循环遍历BeautifuISoup对象danmu中的内容,通过观察步骤四 打印出多的内容可以发现,danmu是一个列表,记下来调用string方法,将i转换为字 符串格式输出。第六步:保存弹幕内容。将获取到的弹幕数据以txt格式保存在文件中,因为弹幕 有很多条,因此我们在翻开文件要注意文件翻开的方式。9 danmu_text = open('弹幕内容. txt1, ,a encoding=' utf-81)for i in danmu:10 danmu_text.write(i.string)danmu_text.write(1rn1)11 danmu_text.close()print(,保存成功! ,)文件(B 幅凝回 格式(Q) 查看(V) 帮助(H)愿 么。 什 S 记 示 人为 感错 展 多因 全远 界 更, 安永 世 让水 的, 向 ,泪 常配 要 法等 非成 需 三常 人川 不 得里 给四 国!记眼 音:爷啊土中 !声文历爷年国i.文证50诗 1的作亲!温十长话!作番么的 火火长分川望胡外实火分梨 点点外满汶王想温王说占3襄进为胡温温食愿 么。 什 S 记 示 人为 感错 展 多因 全远 界 更, 安永 世 让水 的, 向 ,泪 常配 要 法等 非成 需 三常 人川 不 得里 给四 国!记眼 音:爷啊土中 !声文历爷年国i.文证50诗 1的作亲!温十长话!作番么的 火火长分川望胡外实火分梨 点点外满汶王想温王说占3襄进为胡温温食程序中新建了一个名为danmujext的文件对象,三个参数中,第一个“弹幕内容.txt”为保存的文件名,第二个参数“a”是以追加写入的形式翻开文件,第三个参数 encoding为文件的编码格式,注意在文件写入完成后需要关闭文件,最后打印保存成 功的提示信息即可。止的卜,在运行程序之前,需要先将该爬虫程序保存起来,这样才 会在爬虫程序的当前目录下自动生成“弹幕内容.txt»文档。牛刀小试为了让爬虫代码重复使用,我们可以将爬虫过程定义为一个函数,你能试一试吗?拓展阅读I1:网络爬虫的盗亦有道!I 网络爬虫是一门计算机技术,技术本身是不违法的,但是如果出现违反网站意:愿爬取数据、干扰被爬网站的正常运营或爬取了受到法律保护的特定类型的数据或 :信息时就成了 恶意爬虫,是需要承当法律责任的,因此诞生了 Robots协议。:Robots协议是国际互联网界通行的道德规范,是基于维护信息提供者隐私权、保:!护网站使用者个人隐私不被侵犯而建立的。!Robots协议是网站跟爬虫间的协议,robots.txt是一种存放于网站根目录下的! ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛)此网:!站中的哪些内容是不应被搜索引擎的漫游器获取的、哪些是可以被漫游器获取的。:!如果将网站视为酒店里的一个房间,robots.txt就是主人在房间门口悬挂的请勿!,打搅或欢迎清扫的提示牌。这个文件告诉来访的搜索引擎哪些房间可以进入!:和参观、哪些房间因为存放贵重物品或可能涉及住户及访客的隐私而不对搜索引擎:!开放。但robots.txt不是命令,也不是防火墙,如同守门人无法阻止窃贼等恶意闯!;入者。;一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一巩固与提高1、在使用Python编写爬虫程序时,可以选择的网页下载器有()A、urllib2 和 requestsB、BeautifulSoup 和 html.parserC、xpath 和 Ixm

    注意事项

    本文(初中信息技术--Python编程——【网络爬虫爬数据】.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开