《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx

上传人:p** 文档编号:909947 上传时间:2024-04-02 格式:DOCX 页数:10 大小:94.39KB
下载 相关 举报
《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx_第1页
第1页 / 共10页
《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx_第2页
第2页 / 共10页
《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx_第3页
第3页 / 共10页
《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx_第4页
第4页 / 共10页
《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx_第5页
第5页 / 共10页
《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx_第6页
第6页 / 共10页
《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx_第7页
第7页 / 共10页
《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx_第8页
第8页 / 共10页
《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx_第9页
第9页 / 共10页
《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
资源描述

《《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx》由会员分享,可在线阅读,更多相关《《数据采集技术(初级)》实验手册项目5:爬取网络数据.docx(10页珍藏版)》请在第壹文秘上搜索。

1、任务1使用Requests库爬取小说网站任务描述本任务是使用Requests库爬取214玫瑰恋区所有章节的网址,之后再将小说中每章节的内容爬取下来,保存在本地,实现本任务的思路如下:(1)使用requests获取网页源代码。(2)使用正则表达式获取内容。(3)使用文件进行操作。任务步骤第一步打开小说网站,找到“214玫瑰恋区”小说的位置。如下图所示。第二步使用requests获取网页源码start_url=,http:/book38487defget_source(url):IlIffl获取网页源代码。:paramurl:网址:return:网页源代码html=requests.get(url

2、)returnhtml.content.decode(,gbk,)#这个网页需要使用gbk方式解码才能让中文正常显示第三步右键选择“查看网页源代码”,如下图所示。BreatheInEssentialOilsOPEN乖乖费尔作品集介:应叵()Ah*fflEW5211国明星李俊的成百Q手切二年出学生宁儿,国一次今外军碣结r.:5Aft向U子头忖扑的易世:育人说的是独生子.有人说也是遗谖.色育人诧他是“豪独子.但Wg(E)Ctd*R了JlW月有为CtfkS政11(E).CtruP飞生H鬼VS小魔女第二我被他瞪了M三W三如。9成中文(而体)差点儿没命第六宣大闹直除蔼七宣l*RKlftS5SCuuu好友

3、被多架明的联LsSrBlIi三IT5ST-第四步点击之后效果如下图所示。正文tr-Sttdwidth-m25%,Xairef-187730.html第二堂ref”187731.htmT籥三章tdwidth-*,25*wXaIref-187732.htm第四章ahref-,18773html。第五章ahref-18773html,第六章ahref=*18773html”第七章第八章ahref-18773html第九章第十章&bsp;4cnbsp:飞车ItilVS小魔女被他吻了有位帅哥宜取我a美里理身秀爰点儿没命大用医院/aX/td突来笠故他的后妈是我西好友被绑架特别的礼物由于网址存在于va标签中

4、,但va标签本身没有特殊的标识符来区分章节的链接和其他的普通链接,因此需要使用先抓大再抓小的技巧。构造正则表达式,先提取出包含每一章链接的一大块内容,再对这一大块内容使用正则表达式提取出网址。由于源代码中的网址使用的是相对路径,因此需要手动拼接为绝对路径,代码如卜丁A34353638394o414243444546484985152535455565758596o616263646566676869defget_toc(html):获取每一章链接,储存到一个列表中并返回。:paramhtml:目录页源代码:return:每章链接toc_url_list=toc_block=re.findall

5、(正文(.*?)Ihtml,re.S)0toc_url=re.findall(,href=(.*?),ttoc_block,re.S)forurlintoc_url:toc_url_list.append(start_url+url)returntoc_url_list第五步点击“第一章”,查看源码,如下图所示。tdheItht-alpyleftOccolor-WbFFFF?ftnbsp.ftnbs,ahrefhttps/HHi5M)-Mt.ahret-index.htacntabletablevdth三*880*border*。alit11三*center*cellpaddintdvdth*

6、880*heht*60*aln*center*b第一堂飞空贯戈VS小黄女fotablevdth*880*border*Oalin*center*CellpaddingHTcellspacntdwidth*30*he .6absp;6nbsp.tobsp.(1)急夕卜车祸tobn;tobsp:tobsp;&nbrp.“快崎,快点儿!祓摄到了秋可不欲你!”茂在林州美前面边跑边哪。fcnbsp.OnbSAftnbSAinbsp.“十号儿,观且不助7。哎峭!或期!不过,那小子那个生气的样子息是好笑。R林I育美在他后头气嘿吁吁一提到刚才fcnbsp.fcnbsp;tobsp.tobsp.“少庞话

7、,快点!Ji叫菅,迅速落下她好运fcnb=:5Up:5bsp:SbrP盘听到林美在我后头IftlihM亍馨儿,你这个没食心的!狼心狗修,忘恩负义,没U没义!inbsp.ftnbsp;fcnb$p:4nb$p.这就是我的死克一一#精美,小学同卓,现在的成EB中学初二四班学生,与独所在的一班隔一个弱金。fenb3p. ,&nbgp, ,我知道再听下去,她连电里爬外的话都骂得出来,又加快7脚步印隶宁譬儿可是成田中字扪二年级的长J8处跑;3军,连续刷新过学校记录!这个时体不施展本铺更待何时?搜索源代码中的vp标签和标签,发现它刚好有一对,正好包裹着正文。而正文中的Vbr/标签,则没有必

8、要用正则表达式来去除,直接使用字符串的replace。方法把其替换为空即可。代码如下:defget_article(html):获取每一章的正文并返回章节名和正文。:paramhtml:正文源代码:return:章节名,正文chapter_name=re.search(,size=n4n(.*?)*,htmlzre.S).group(1)textblock=re.search(,(.*?),html,re.S).group(1)text_block=text_block.replace(,)returnchapter_name,text_block第六步保存数据到本地,代码如下:efsave(

9、chapter,article):VlIVVl将每一章保存到本地。Jparamchapter:章节名,第X章:paramarticle:正文内容:return:NoneVlIVTlos.makedirs(,214玫瑰恋区,exist_ok=True)#如果没有“动物农场文件夹,就创建一个,如果有,则什么都不做“withopen(os.path.join(,214玫瑰恋区Ichapter+,.txt,),w,zencoding=,utf-8,)asf:f.write(article)defquery_article(url):VlIfVl根据正文网址获取正文源代码,并调用get_article函

10、数获得正文内容最后保存到本地。:paramurl:正文网址:return:NoneVlVVVlarticle_html=get_source(url)chapter_name,article_text=get_article(article_html)save(chapter_name,article_text)第七步编写主函数,代码如下:if_name_=,_main_,:toc_html=get_source(start_url)toc_list=get_toc(toc_html)pool=Pool(4)pool.map(query_article,toc_list)第八步programO214玫瑰恋区-C名称修改日期第八章礴身骋朝.txt2020/5/613:18第二章被他吻了txt2020/5/613:18第九堂好友祓绑架.txt2020/5/613:180第六章大闰医院.txt2020/5/613:18C第七章突来变故txt2020/5/613:18第三章有位帅哥喜欢我xt2020/5/613:18第十章特SI的礼物.txt2020/5/613:18L第四登美男裸身秀tt2020/5/61

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > Java

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

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