从零开始学抓取
从零开始学抓取
昨天突然遇到了一个需要统计某个网站所有页面单词数的任务,于是从零开始学起python搞抓取。
看了一下资料,需要用到下面几个库:
- beautifulsoup4(分析html)
- lxml(html praser)
- requests(请求页面)
- xlwt(导出excel表格)
下面是代码
import requests from bs4 import BeautifulSoup import lxml import re url = "http://www.baidu.com" homepage = requests.get(url).text #检查返回页面的内容 #print (homepage) soup = BeautifulSoup(homepage,'lxml') for linkpage in soup.find_all('a'): linkpage2 = linkpage.get('href') #检查有哪些连接 #print(linkpage.get('href')) if linkpage2.startswith(url): #正则表达式删除末尾的锚位 print(re.sub(r'\#.*',"",linkpage2)) elif linkpage2.startswith("/"): print(url + re.sub(r'\#.*',"",linkpage2))
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SpringBoot使用Elastic-Job
本文介绍SpringBoot整合Elastic-Job分布式调度任务(简单任务)。 1.有关Elastic-Job Elastic-Job是当当网开源的分布式任务调度解决方案,是业内使用较多的分布式调度解决方案。 这里主要介绍Elastic-Job-Lite,Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供最轻量级的分布式任务的协调服务,外部依赖仅Zookeeper。 架构图如下: Elastic-Job官网地址:http://elasticjob.io/index_zh.htmlElastic-Job-Lite官方文档地址:http://elasticjob.io/docs/elastic-job-lite/00-overview/intro/ 2.使用Elastic-Job 2.1 加入依赖 新建项目,在项
- 下一篇
详解Vue Native
译者按: 一家叫GeekyAnts的印度公司开发了Vue Native,基于React Native实现。 原文: Introducing Vue Native 译者: Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 尽管整个JavaScript社区对Vue的情感是比较微妙的(不懂为啥),但也不能阻止我尝试用Vue Native来开发移动App。 Hello World 这是一个很简单的例子,仅仅将“Hello World”在页面上展示出来。 动机 作为一个前端开发,我很喜欢HTML的简洁。直接编写代码,辅以CSS来定制样式。Vue的.vue文件提供了类似的体验。 Vue有丰富的功能:支持模板化、样式定义、基于Vuex的状态管理和路由。这使得它不失为一个完美的选择。 使用Vue Native,我们在开发中也有着类似的体验。 初次尝试 在网上简单的搜索,就可以发现SmallComfort开发的react-vue项目。react-vue将Vue文件翻译到React和React Native组件。感谢react-vue的作者解决了很多问题...
相关文章
文章评论
共有0条评论来说两句吧...