这是一个通过使用requests和BeautifulSoup库,简单爬取网站的所有超链接的小爬虫。有任何问题欢迎留言讨论。

import requests
from bs4 import BeautifulSoup def getHTMLText(url):
'''
此函数用于获取网页的html文档
'''
try:
#获取服务器的响应内容,并设置最大请求时间为6秒
res = requests.get(url, timeout = 6)
#判断返回状态码是否为200
res.raise_for_status()
#设置该html文档可能的编码
res.encoding = res.apparent_encoding
#返回网页HTML代码
return res.text
except:
return '产生异常' def main():
'''
主函数
'''
#目标网页,这个可以换成一个你喜欢的网站
url = 'https://www.cnblogs.com/huwt/' demo = getHTMLText(url) #解析HTML代码
soup = BeautifulSoup(demo, 'html.parser') #模糊搜索HTML代码的所有包含href属性的<a>标签
a_labels = soup.find_all('a', attrs={'href': True}) #获取所有<a>标签中的href对应的值,即超链接
for a in a_labels:
print(a.get('href')) main()

测试结果:

https://www.cnblogs.com/huwt/
https://www.cnblogs.com/huwt/
https://www.cnblogs.com/
https://www.cnblogs.com/huwt/
https://i.cnblogs.com/EditPosts.aspx?opt=1
https://msg.cnblogs.com/send/%E8%B7%AF%E6%BC%AB%E6%BC%AB%E6%88%91%E4%B8%8D%E7%95%8F
https://www.cnblogs.com/huwt/rss
https://i.cnblogs.com/
https://www.cnblogs.com/huwt/archive/2019/04/10.html
https://www.cnblogs.com/huwt/p/10680209.html
https://www.cnblogs.com/huwt/p/10680209.html
https://i.cnblogs.com/EditPosts.aspx?postid=10680209
https://www.cnblogs.com/huwt/p/10685968.html
https://www.cnblogs.com/huwt/p/10685968.html
https://i.cnblogs.com/EditPosts.aspx?postid=10685968
https://www.cnblogs.com/huwt/archive/2019/04/08.html
https://www.cnblogs.com/huwt/p/10673470.html
https://www.cnblogs.com/huwt/p/10673470.html
https://i.cnblogs.com/EditPosts.aspx?postid=10673470
https://www.cnblogs.com/huwt/archive/2019/03/31.html
https://www.cnblogs.com/huwt/p/10633896.html
https://www.cnblogs.com/huwt/p/10633896.html
https://i.cnblogs.com/EditPosts.aspx?postid=10633896
https://www.cnblogs.com/huwt/p/10632084.html
https://www.cnblogs.com/huwt/p/10632084.html
https://i.cnblogs.com/EditPosts.aspx?postid=10632084
https://www.cnblogs.com/huwt/archive/2019/03/30.html
https://www.cnblogs.com/huwt/p/10629625.html
https://www.cnblogs.com/huwt/p/10629625.html
https://i.cnblogs.com/EditPosts.aspx?postid=10629625
https://www.cnblogs.com/huwt/archive/2019/03/25.html
https://www.cnblogs.com/huwt/p/10597502.html
https://www.cnblogs.com/huwt/p/10597502.html
https://i.cnblogs.com/EditPosts.aspx?postid=10597502
https://www.cnblogs.com/huwt/archive/2019/03/24.html
https://www.cnblogs.com/huwt/p/10591353.html
https://www.cnblogs.com/huwt/p/10591353.html
https://i.cnblogs.com/EditPosts.aspx?postid=10591353
https://www.cnblogs.com/huwt/archive/2019/03/16.html
https://www.cnblogs.com/huwt/p/10540942.html
https://www.cnblogs.com/huwt/p/10540942.html
https://i.cnblogs.com/EditPosts.aspx?postid=10540942
https://www.cnblogs.com/huwt/p/10541675.html
https://www.cnblogs.com/huwt/p/10541675.html
https://i.cnblogs.com/EditPosts.aspx?postid=10541675
https://www.cnblogs.com/huwt/default.html?page=2
[Finished in 1.1s]

python爬虫入门---第一篇:获取某一网页所有超链接的更多相关文章

  1. Python爬虫入门案例:获取百词斩已学单词列表

    百词斩是一款很不错的单词记忆APP,在学习过程中,它会记录你所学的每个单词及你答错的次数,通过此列表可以很方便地找到自己在记忆哪些单词时总是反复出错记不住.我们来用Python来爬取这些信息,同时学习 ...

  2. python爬虫入门---第二篇:获取2019年中国大学排名

    我们需要爬取的网站:最好大学网 我们需要爬取的内容即为该网页中的表格部分: 该部分的html关键代码为: 其中整个表的标签为<tbody>标签,每行的标签为<tr>标签,每行中 ...

  3. 2.Python爬虫入门二之爬虫基础了解

    1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...

  4. Python爬虫入门二之爬虫基础了解

    1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...

  5. 转 Python爬虫入门二之爬虫基础了解

    静觅 » Python爬虫入门二之爬虫基础了解 2.浏览网页的过程 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以 ...

  6. Python爬虫入门有哪些基础知识点

    1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...

  7. Python爬虫入门(二)之Requests库

    Python爬虫入门(二)之Requests库 我是照着小白教程做的,所以该篇是更小白教程hhhhhhhh 一.Requests库的简介 Requests 唯一的一个非转基因的 Python HTTP ...

  8. python爬虫入门-开发环境与小例子

    python爬虫入门 开发环境 ubuntu 16.04 sublime pycharm requests库 requests库安装: sudo pip install requests 第一个例子 ...

  9. Python爬虫入门之正则表达式

    在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的 ...

随机推荐

  1. mybatis中使用常量

    mybatis的mapper文件中项要使用常量的话${@类的全称路劲@常量名称}

  2. webpack热加载:修改文件自动刷新浏览器并更新

    概述 之前用react脚手架,觉得那种修改了能立即自动刷新浏览器并更新的功能实在非常人性化,所以想在开发其它项目的时候能用上.于是查了一些资料记录在此,供以后开发时参考,相信对其他人也有用. 其实代码 ...

  3. 哥们,你真以为你会做这道JVM面试题?

    有关Java虚拟机类加载机制相关的文章一搜一大把,笔者这里也不必再赘述一遍了. 笔者这里捞出一道code题要各位大佬来把玩把玩,如果你一眼就看出了端倪,那么恭喜你,你可以下山了: public cla ...

  4. Spring MVC & Boot & Cloud 技术教程汇总(长期更新)

    昨天我们发布了Java成神之路上的知识汇总,今天继续. Java成神之路技术整理(长期更新) 以下是Java技术栈微信公众号发布的关于 Spring/ Spring MVC/ Spring Boot/ ...

  5. mysql 开发进阶篇系列 32 工具篇(mysqladmin工具)

    一.概述 mysqladmin是一个执行管理操作的客户端程序.用来检要服务的配置和当前的状态,创建并删除数据库等.功能与mysql客户端类似,主要区别在于它更侧重于一些管理方面的功能.1. 查找mys ...

  6. Apache Commons Beanutils 二 (动态Bean - DynaBeans)

    相关背景 上一篇介绍了PropertyUtils的用法,PropertyUtils主要是在不修改bean结构的前提下,动态访问bean的属性: 但是有时候,我们会经常希望能够在不定义一个Java类的前 ...

  7. 从零开始学 Web 之 HTML(一)认识前端

    大家好,这里是 Daotin 从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享 ...

  8. C#中List的方法RemoveAt小测试

    结论:在C#中将一个List中的项插入到别一个List中,会复制,而不是从源List中移除. 示例如下 void Start () { TestList (); } void TestList () ...

  9. Spring Cloud Consul使用——服务注册与发现(注册中心)

    整理自该文章 一.Consul 服务端接下来我们开发 Consul 的服务端,创建一个 spring-cloud-consul-producer 项目 1.添加依赖包 <dependencies ...

  10. 使用Dockerfile制作JDK+tomcat镜像

    1.准备好jdk和tomcatapache-tomcat-8.5.32.tar.gzjdk-8u181-linux-x64.tar.gz 注意:a.jdk和tomcat记得从官网下载,否则制作出来的镜 ...