网页代码扒ppt_Python爬虫解析网页的4种方式值得收藏.pdfVIP

网页代码扒ppt_Python爬虫解析网页的4种方式值得收藏.pdf

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
⽹页代码扒ppt_Python爬⾍解析⽹页的4种⽅式值得收藏 ⽤Python写爬⾍⼯具在现在是⼀种司空见惯的事情,每个⼈都希望能够写⼀段程序去互联⽹上扒⼀点资料下来,⽤于数据分析或者⼲点别 的事情。 我们知道,爬⾍的原理⽆⾮是把⽬标⽹址的内容下载下来存储到内存中,这个时候它的内容其实是⼀堆HTML,然后再对这些HTML内容进 ⾏解析,按照⾃⼰的想法提取出想要的数据,所以今天我们主要来讲四种在Python中解析⽹页HTML内容的⽅法,各有千秋,适合在不同 的场合下使⽤。 ⾸先我们随意找到⼀个⽹址,这时我脑⼦⾥闪过了⾖瓣这个⽹站。嗯,毕竟是⽤Python构建的⽹站,那就拿它来做⽰范吧。 我们找到了⾖瓣的Python爬⾍⼩组主页,看起来长成下⾯这样。 让我们⽤浏览器开发者⼯具看看HTML代码,定位到想要的内容上,我们想要把讨论组⾥的帖⼦标题和链接都给扒出来。 通过分析,我们发现实际上我们想要的内容在整个HTML代码的 table class=olt这个区域⾥,那我们只需要想办法把这个区域内的内容 拿出来就差不多了。 现在开始写代码。 1: 正则表达式⼤法 正则表达式通常被⽤来检索、替换那些符合某个模式的⽂本,所以我们可以利⽤这个原理来提取我们想要的信息。 参考以下代码。 在代码第6⾏和第7⾏,需要⼿动指定⼀下header的内容,装作⾃⼰这个请求是浏览器请求,否则⾖瓣会视为我们不是正常请求会返回 HTTP 418错误。 在第7⾏我们直接⽤requests这个库的get⽅法进⾏请求,获取到内容后需要进⾏⼀下编码格式转换,同样是因为⾖瓣的页⾯渲染机制的问 题,正常情况下,直接获取requests content的内容即可。 Python模拟浏览器发起请求并解析内容代码: url = /group/491607/ headers = {User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:71.0) GeckoFirefox/71.0} response = requests.get(url=url,headers=headers).content.decode(utf-8) 正则的好处是编写⿇烦,理解不容易,但是匹配效率很⾼,不过时⾄今⽇有太多现成的HTMl内容解析库之后,我个⼈不太建议再⼿动⽤正 则来对内容进⾏匹配了,费时费⼒。 主要解析代码: re_div = rtables+class=olt[W|w]+/table pattern = pile(re_div) content = re.findall(pattern, str(response)) re_link = ra .*?(.*?)/a mm = re.findall(re_link, str(content), re.S|re.M) urls=re.findall(ra.*?href=.*?/a, str(content), re.I|re.S|re.M) 2: requests-html 这个库其实是我个⼈最喜欢的库,作则是编写requests库的⽹红程序员 Kenneth ReitzKenneth Reitz,他在requests的基础上加上了对html内容的解 析,就变成了requests-html这个库了。 下⾯我们来看看范例: 我喜欢⽤requests-html来解析内容的原因是因为作者依据帮我⾼度封装过了,连请求返回内容的编码格式转换也⾃动做了,完全可以让我 的代码逻辑简单直接,更专注于解析⼯作本⾝。 主要解析代码: links = response.html.find(table.olt, first=True).find(a) 安装途径: pip install requests-html pip install requests-html 3: BeautifulSoup ⼤名⿍⿍的 BeautifulSoup库,出来有些年头了,在Pyhton的HTML解析库⾥属于重量级的库,其实我评价它的重量是指⽐较臃肿,⼤⽽ 全。 还是来先看看代码。 soup = BeautifulSoup(response, html.parser) links = soup.findAll(table, {class: olt})[0].findAll(a) BeautifulSoup解析内容同样需要将请求和解析分开,从代码清晰程度来讲还将就,不过在做复杂的解析时代码略显繁琐,总体来讲可以 ⽤,看个⼈喜好吧。 安装途径: pip inst

文档评论(0)

137****3135 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档