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

上传人:夺命阿水 文档编号:1216701 上传时间:2024-04-02 格式:DOCX 页数:16 大小:275.63KB
返回 下载 相关 举报
《数据采集技术(初级)》实验手册项目6:项目实战网络爬虫.docx_第1页
第1页 / 共16页
《数据采集技术(初级)》实验手册项目6:项目实战网络爬虫.docx_第2页
第2页 / 共16页
《数据采集技术(初级)》实验手册项目6:项目实战网络爬虫.docx_第3页
第3页 / 共16页
《数据采集技术(初级)》实验手册项目6:项目实战网络爬虫.docx_第4页
第4页 / 共16页
《数据采集技术(初级)》实验手册项目6:项目实战网络爬虫.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《《数据采集技术(初级)》实验手册项目6:项目实战网络爬虫.docx》由会员分享,可在线阅读,更多相关《《数据采集技术(初级)》实验手册项目6:项目实战网络爬虫.docx(16页珍藏版)》请在课桌文档上搜索。

1、任务1爬取手机端数据任务描述使用ReqUeStS库与抓包工具(拦截查看网络数据包内容的软件)的结合实现一个APP页面内容的爬取。能够通过FiddIer抓包工具配置及使用获取APP数据内容及相关信息,之后使用Requests库相关方法通过链接地址实现APP内数据的爬取。爬取思路如下:(1)安装FiddIer抓包工具。(2)使用FiddIer抓包工具进行网站分析。(3)分析网站。任务步骤第一步下载抓包工具。这里使用FiddIer抓包工具,点击下载按钮后,根据相关提示信息完成内容填写即可实现FiddIer下载,效果如下图所示。俞FMWr*FWebCu99rXhttWA ProgressCOMPAW

2、TKHNoIoGY Telenke FiddIevwvw docs & support PmCMG Q v9 X QSUl Libraries for Web,MObiIe & DesktopTelerikFiddlerThefreewebdebuggingproxyforanybrowser,systemorplatformKeyFeatures第二步FicIdIer安装。双击下载好的软件安装包,之后点击“IAgree”TmStaIr按钮即可安装Fiddler工具。安装完成效果如下图所示。ProgressTelerikFiddler:CompletedCompletedShowdetails

3、Jun-27-18v5.0,20182.28034zz*HpHPS*Hp*z*HTTP Ul22222 2 2 22222 町,-22222I20(so5050so505050so5050so5020(50so505050so10111213M151617181920212223242S26272829303132333435 W 一二一一八二一:二二:二一八,鱼宜立Host TaInel to Tmnelto Ttjinel to Tumd to Tirmelto Tnd to Turmd to Tnd to Tnd to Tnel to Tunnd to T Ttxmd to Tnel t

4、o Tmndto Tiwd to Tmnd to Tumel to Timel to Timd to Tumd to Turmelto Tunnelto TirmeltoURLa小m0 付 8 18ck- 18d dents l.goo:44 dents l.gooflte.axn:44 dents 1.9oogle.cocn:44 dents l.googte.cocn:44 dents 1 goote. co44 dents :44 dten :44 dents l.gooz44 dents 1.9OO0le.c(xn:44 CientSLgOote.cwn中 Cknts 1.9oogle

5、.axn:44 entsl.gooz44 w.gPcc=18ck=lSd CientSl . 900” GXn: 44 dents l.gooie. com :44 cn ts 1 , gooie com : 44 CientS L中 dcntsl.9oie.ccxnzH dents l.900gle. com :44 CkntSl Q00ie. ccxn+ dents :44 dten ts 1 . 900* com: 44 dents l.Qoz44 dents l.Qo44 dents L:44 Keep: All sessions Any Process 为 Find Q Sove夕

6、AutoResponder 劣 Composer QQ Fiddter Orchestra Beta, FiddIerSaipt g Log Fiters = TimeSneO Stabsbcs Inspectors令 ProgreSSKendO URecommended by the iaMost read in JavaScript: Tips for Optimizing yourAngular Application Read Article点击上图中“Tools”菜单下的“Options”按钮进入工具配置界面,效果如卜图所示。点击图中七。所。明。的”按钮,之后进行端口号的配置,效果如

7、下图所示。第四步手机配置。由于抓取的是手机APP数据,因此需要在同一局域网内进行手机网络的配置,进入手机WiFi修改界面,设置手动代理并进行主机IP和端口号的配置,效果如下图所示。WiredSSIDQ高级选项代理手动浏览器会使用HTTP代理,但其他应用可能不会使用。代理费!黄喜主机右192.168.10.233主机IP地址代理豳哥口8888FiddIer扒包工具设置的端口号对以下网址不使用代理取消保存第五步APP页面分析。配置完成后,即可使用当前手机打开需要爬取的APP,这里使用的是美团APP,页面美食网 Q六步查看APP信息。找到需要抓取的页面后,在FidClIer抓包工具页面中会获取到当前

8、APP请求网络的路径,点击路径后即可查看当前APP的相关信息,效果如下图所示。aSWinConfigJReplayXGo.Streamf溟DeCOdelKeep:Allsessions*AnyProcess的Find5Save萌3456789012345Sd444495555599999CJ9999*二:广比匕*lu-广r.ft6.匕TJ)M)n)222222Resl2(x220(20(20(20(20(505050505050H11PH11PH11PH11PH11PZH11P霹HTTPH11PHostURLBodyCachingTunndtotng.me!-H3OTunndtoM443OTu

9、nndto:443OT443OTunnelto:443OT443OTUnndto:443OTunndtodentsLgOOgtecom:443582-cache,must-rTunndto:443582no-cache,mst-nTurmdtocfentsl.googie.axn:443582noade,must-nTunndto:443582ade,must-rTunndto:443582noachejmust.TunndtodentsL:443网络请求路径582-cache,must-f一二R拨957一4UUI-IUJ!Ll200HTTP33,366藐懑黑懑淳懑席一VW222222coo2

10、22222c2o(2o)5o5o5o5oso5o22ol2ot5o5o5o5o5o5o29012345678901234565l6(l6666e.eel&7t777777l。999999999999Ch9-伫匕u*Lu,l1产。匕色曲c匕ft巴广iuH:443dentsL:443:443dentsl.QOO:443dntsl.googte.xnz443dentsl.google.axn:443:443sZmn.wpscdn.zH3xxfigwpstraycfig.js00582no-cade,must-r582-cache,must-r58211oache,must-582noe,must-n

11、582-cade,must-rS82ache,must-f01,137max-age=7200;E582noache,mtS82noache,must582-cache,must-r582-cache,must-f582oade,must-f*582no-cache,musttypeHaPtoteammore电FiddterOrchestraBetaHddterScript3LOeFiltersTnefre色StatisticsInSPeCtorS$AutoResponderWComposerIHeadersTextViewSyntaxViewWebFormsHexViewAuthCookie

12、sRawJSONXML第七步代码编辑基本配置和信息获取完成后即可进行代码的编辑,将上面获取的相关请求头信息填入代码相应的位置,之后将爬取路径放入请求方法中进行页面内容的请求,之后通过JSe)N信息的分析,爬取需要的页面信息,如有需要可将信息保存到本地文件,代码如下所示。#弓|入Requests库importrequestsdefmain():#定义请求头headers=#将FiddIer右上方的内容填在headers中nAccept-Charsetn:UUTF-8”,“Accept-Encoding:,gzip,uUser-Agentn:uAiMeiTuan/OPPO-5.1.I-OPPORl

13、1-1280x720-240-5.5.4-254-866174010228027-qqcpdn,nConnectionn:uKeep-Aliveuz,Host:,u)#循环请求数据foriinrange(0z100,15):# 右上方有个get请求,将get后的网址赋给heros_urlheros_url=uhttp:/# 美食的列表显示在json格式下res=requests.get(url=heros_url,headers=headers).json()# 打印列表foriinresndatan:print(i,poiuname)print(i,poi,areaNamen)print(i

14、,poiavgPrice,)print(i,poi,avgScore)printC+=)if_name_=_main_:main();运行代码,效果如下图所示。梨花发团烧肉井(天河城店)和平路395*彤德菜火锅(天河城店)和平路62电老二农东铁锅炖(张家通店)天津南站73屯老二农家铁锅炖(双街店)双街69火沪火烤肉芝士排骨(世纪都会店)滨江道81新辣道(荔隆店)北郊/泉州北路81任务2爬取豆瓣电影TOP250任务描述本任务以豆瓣电影TOP250为目标,爬取目标中的中文电影名、年份、评分、评论人数和最热评论的信息,并将爬取得到的信息存入为本地文件,最后将排名前10的电影信息(评论人数、评分)可视

15、化显示。实现本任务的思路如下:(1)明确爬取目标及所需要的效果。(2)根据URL爬取网页数据信息。(3)对数据进行保存。任务步骤第一步打开豆瓣电影TC)P250,如下图所示。movie.doubanxo“库里让人fil的.RBBfK!B.发的套/FmeM蜘COftaJMe三ttMftKaChenXIesMCtwung*FngyiZM1993*SLt见中国用Bdin同性f96148S163人制第二步观察访问的网址,会发现豆瓣网URL为:https:https:TOP250网址中的每页URL中“start=后面的数值是不一样的,并且是在上次的基础上累加数值25,根据这个规律可以爬取豆瓣电影TOP2

16、50网址中所有数据信息。抓取豆瓣电影top250首页代码如下:importrequestsimportreimportjsonheaders=nUser-Agentn:nMozilla5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTMLzlikeGecko)Chrome/58.0.3029.110Safari/537.36SE2.XMetaSr1.0,)url=,http:,http:/123.207.96.189:800)response=requests.get(url,proxies=proxies,headers=headers)text=r

17、esponse.textprint(text)具体效果如下图所示htllg三ehCl*c14三aM-windowscthttp-equivBContent-Type-contefltMtext/htal;chrsMt11*rferrCne-*goo5WiUBTopsert*htpwivsPrafcontentcctwwethttpe6M*200501CMTlinkr18*App)toh-icon*hrf三w.、.,*Cinkhref-,.,rel,styl5heeftype-text/c*s-vAr_ZX_N.rtnwDat()iscripttyp*ttjvrittrlrlpttyp*txt)

18、*v4ft*f-rltyl.hw1typ-txt/cAript:第三步抓取每一部电影的信息。在网页右键点击“查看网页源代码”,效果如下图所示。9w27ov.doubwucob/Aibjecty12M141*/mldouban,。.cov工DhorN工0DOgtrpulAcD1606M2M8bDclas*dv控方证人4nbjp./tobjp;WitncjfortheProsecut0nfjxancl”rotberlMp:/inb8p.it才fl58/fispanclaffs*playable(ftfitpclasr,导漏比利忤尔ifBillyVx】d&hbp.ftnb8p&ib即主演豪91Ie华

19、TyroxPowrZ玛Ml.1957ftnbp.Sb8p.美QOfcnbXP.nbtp.用情UB9UpanclMS*rtn-ma*PrQPertLVaverage*9.6fFanprcan277751人评价pclM*ute比利怀微黄分作n第四步提取电影的信息。通过上图可知每个电影的信息对应的源码是VdiVClaSS=%er节点先用正则表达式提取到每部电影的所有信息:regix=,class为pic的div节点包含电影的排名和电影图片信息,提取电影排名和电影图片信息的正则表:regix=YdiVclass=item*?.*?(.*?).*?,ClaSS为info的CliV标签中包含了电影的名字、

20、导演和演员等信息,电影名字是在CIaSS为hd的div的节点内,VSPanCIaSS=title,节点内包含的是电影的名字,节点内包含的是电影的别名,上图中的褐色框部分,因此提取电影名字的正则表达式为:regix=YdiVclass=,item,.*?.*?emclass=(.*?).*?.*?divclass=,info.*?CIaSS=hd.*7class=titlen(.*?).*7class=,other(.*?)1class为bd的节点内包含的是电影的导演和主演信息,其中class为“”的P节点内包含的是电影的导演和演员信息,其中还包含了vbr标签,上图中的紫色框部分,为了提取电影导

21、演和演员的信息,正则表达式改写为:regix=,.*?.*?(.*?).*?.*?divclass=1info.*7class=,hdn.*7class=,title(.*?).*7class=,other(.*?).*?.*?(.*?)(.*7),CIaSS为Start的div标签中包含的是电影的星级和评分,上图黑色框部分。提取星级和评分的规则和提取电影排名、图片等信息类似,最后提取整个电影信息的正则表达式为:regix=,.*?*?(.*?).*?.*?divclass=ninfo.*7class=nhd.*7class=title,(*?).*7class=,other(.*?).*?.

22、*?(.*?).*?).*7class=,star.*?.*?spanclass=,rating_numn.*7average,(*?),提取一页中所有电影信息的代码如下所示importrequestsimportreimportjsonheaders=uUser-Agentn:,Mozilla5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0.3029.110Safari/537.36SE2.XMetaSr1.0,)url=,nhttp:,http:/123.207.96.189:801)respons

23、e=requests.get(urlzproxies=proxies,headers=headers)text=response.text#print(text)text=response.textregix=,.*?.*?(.*?).*?.*?divclass=,info.*7class=,hd.*7class=,title(.*?)(.*?).*?.*?(.*?)(.*?).*?ClaSS=star.*?.*?spanclass=,rating_numn.*7average,(.*?),results=re.findall(regix,text,re.S)foriteminresults:

24、print(item)运行代码,效果如下图所示。.Qh,m1ric*aIt.BIWi,3少ItmiF*ew11、CkmMi.,UB9。廿O.-,WU出府Wiw,三*M砒S”1K-*ow4IiHUAuT,.*2r2;染+/*)tHIH身!MIucIylC,.三i,u*pj*PittiieW(/).n叫WmeMJi(一IVJr(ll)/+H.V三WMiyx*g三w.ggn,力g懂WG)/WBWJyM:股RjwFE乂,.jti?jxtcX,n4dLlZft.三rw.E)/取f7hri,tcV1.ettt.2r.ir;EM(削/三HJ).、mE9,v”洒/-wwme,vCU*g*H1j,04人4舞)/

25、Mtt,.*WEMetrCl!r,mu,三X/ffT三WA(l),UIHrMJ4(4-.三CiB.旬/XJMR(.9安*1WjF蚯修工,3三ltt:M5W.*iWCt*:W.0Q布EErici,/】今IMMBJ.FCrubT.-.(Wlir:北乍超/HWyTctrwc.WPQWJB-Wh王PIUrwift.鬣*HOm*/V1RML0M40MCM-1/.Wft-3)(HI5B/金人讨台),W11UW58s中“暂由TzW”3“M-切珏Miklac”/三u三.,Hft:MCtfiBfeft-OWST/O35MT.311O15M至JWGUSYX5m诩:OWE2”Do11/FR.M5,s(,嗓的名期用W

26、W大皿/布达IW0)/wpwuwxt(fe,jw三a:三RS病拉尔大型的*】(*“=”/.:)回BeWr.RRft,天下山显)/&392W才:G三;EFMW1一、Cixm主茶内!.恭辛”、“5EnCtM.博名7)(,曲2修:三n*/nxie()/刀iB”雷ma不察:打1的卦:妁30,加“ow/0.嫁名:”)(一名:*flOW三T()/岭西修龄之本色(色)明gXRWW:*F古=21CibELW:愀T*P21Gt8/环”吗.,,JM名;M)rW名尊:摩WW代fhMac/odE3l.W11Q:,=0及aChrl.Ch4pHnl:MjOMCnSC21S.,.:,)(;,:eWTI/爻方中世(任)/A三x*R,t1:W:5皮MJgMtjJI:ftMBWBAudr*ruw.,:(WSW:,MUJ/KinofAd/IMnCa5E5tnh*Chow/9WIUChi18主演:MttCh.-W)(W5W:WiD*/jm/电创WRa员:够:E三JHMt*、Jold主演:nSFJohcCwak/B.:w)电鼻!5曰:*tt

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

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


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号