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

上传人:夺命阿水 文档编号:1216733 上传时间: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》由会员分享,可在线阅读,更多相关《《数据采集技术(初级)》实验手册项目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)第八步programO

11、214玫瑰恋区-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/613:18第五章整点J股命txt2020/5/613:18后第一章飞车魔鬼VS小魔女.txt2020/5/613:18ACC任务2写入读取数据任务描述本任务是爬取html-color-co

12、des网站的tr标签里面的style和tr下几个并列的td标签数据并保存到数据库中,通过数据库命令查看表中的内容。实现本任务的思路如下:(1)分析网站。(2)爬取网站。(3)将爬取的数据保存在数据库中。(4)使用SQL命令查看数据库中的数据。任务步骤第一步打开html-color-codes官网,效果如卜图所示。第二步右键“检查”,审查元素,效果如下图所示。*VLduxeJas(.uxurieuxe,*trstyle-background-color:idianred;tobsp;tdCIaSSWhitenaaeIndiMRedtdtdclasswhiteCD5C5C trstyle-back

13、ground-color:lightcoral;.Ztr - trstylebackground-color:lightsalon;- trstyle-background-color:crimson;-tr - trstyle-background-color:fireBrick;,-r _scriptasyncSrC=oaeead2.g8glesvndicati,on.c8Daeatisadsbeooele.isfduHkrntntrurliwrzmncHrwKtrv-rrcf*wl小CkrfhltK成成成成成成成成成成成成成成成成成成成成成完完完完完完完完完完元完完完元完完三库库库库库库

14、库库库库库库库库库库库库库库B据据据据据据据据据glg需据光光居居民数数数数数数数数数数数短数数数赳数数短Sl山IiiiiiiiiiiiiiiiiiiiiQQQQQQQQQQQQQQqQQQQQH-SSSSSSSSSSSSSSSSSSSSe一叫JnylylylylylylylylyInylylylylyly呻mylylyz4.JJJ.-JJ.1.J.J4.J-J-J.-413.4J-J.4J-Au4uAdM4uJdR404M4dM4u404U404dM4u4dM4uAuWnp404d-!并并并并并并并并并并并并并并并并并并并并K一了据据据据据据据据据据据据据据据据据据据据堀一一到上效数数数数数

15、数数数数数题数数数数数数数数却一一接接取取取取取取取取取取取取取取取取取取取取即一一连连爬爬爬爬爬爬爬爬爬爬爬爬爬爬爬爬爬爬爬爬砸第五步查询创建工具萱道燃箱器1select*fromCOLOR;信息结果1概况状态ColorValueStyleIndianRedCD5C5Cbackground-color:indianiLightCoraIF08080background-colorlightccSalmonFA8072background-colosalmoDarkSaImon9967Abackground-color:CIarkSeLightSaImonFFA07Abackground-co

16、lor:IightSaCrimsonDCI43Cbackground-colorxrimscRedFFOOOObackgroundcolorred;FireBrickB22222background-colofireBriDarkRed8B0(XX)background-colodarkrePinkFFCOCBbackground-colorpinlLightPinkFFB6C1background-colorlightpiHotPinkFF69B4background-colohotpinDeepPinkFF1493background-CoIOrdeeppMediumVioIetRedC71585background-colomediu

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号