Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python - 抓取页面上的链接

python - 抓取页面上的链接

作者头像
phith0n
发布于 2020-10-15 14:06:13
发布于 2020-10-15 14:06:13
2.9K00
代码可运行
举报
运行总次数:0
代码可运行

    除了C/C++以外,我也接触过不少流行的语言,PHP、java、javascript、python,其中python可以说是操作起来最方便,缺点最少的语言了。

    前几天想写爬虫,后来跟朋友商量了一下,决定过几天再一起写。爬虫里重要的一部分是抓取页面中的链接,我在这里简单的实现一下。


    首先我们需要用到一个开源的模块,requests。这不是python自带的模块,需要从网上下载、解压与安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -OL https://github.com/kennethreitz/requests/zipball/master
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ python setup.py install

    windows用户直接点击下载。解压后再本地使用命令python setup.py install安装即可。

    这个模块的文档我也正在慢慢翻译,翻译完了就给大家传上来(英文版先发在附件里)。就像它的说明里面说的那样,built for human beings,为人类而设计。使用它很方便,自己看文档。最简单的,requests.get()就是发送一个get请求。

    代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# coding:utf-8
import re
import requests

# 获取网页内容
r = requests.get('http://www.163.com')
data = r.text

# 利用正则查找所有连接
link_list =re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')" ,data)
for url in link_list:
    print url

    首先import进re和requests模块,re模块是使用正则表达式的模块。

    data = requests.get('http://www.163.com'),向网易首页提交get请求,得到一个requests对象r,r.text就是获得的网页源代码,保存在字符串data中。

    再利用正则查找data中所有的链接,我的正则写的比较粗糙,直接把href=""或href=''之间的信息获取到,这就是我们要的链接信息。

    re.findall返回的是一个列表,用for循环遍历列表并输出:

    这是我获取到的所有连接的一部分。


    上面是获取网站里所有链接的一个简单的实现,没有处理任何异常,没有考虑到超链接的类型,代码仅供参考。requests模块文档见附件。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python老司机手把手带你写爬虫,整站下载妹子图,一次爽个够!
今天就来带大家写一个简单而又完整的爬虫,我们来抓取整站的图片的,并且保存到电脑上!
python学习教程
2020/08/21
1.3K0
Python老司机手把手带你写爬虫,整站下载妹子图,一次爽个够!
Python网络爬虫入门篇
学习者需要预先掌握Python的数字类型、字符串类型、分支、循环、函数、列表类型、字典类型、文件和第三方库使用等概念和编程方法。
用户1679793
2019/03/22
2.1K0
Python网络爬虫入门篇
[Python攻防] 二.Python能做什么渗透?正则表达式、网络爬虫和套接字通信入门
Python黑帽第二篇文章将分享Python网络攻防基础知识,看看Python能做什么,以及正则表达式、网络爬虫和套接字通信入门基础。本文参考了i春秋ADO老师的课程内容,这里真心推荐大家去学习ichunqiu的课程,同时也结合作者的经验进行讲解。希望这篇基础文章对您有所帮助,更希望大家提高安全意识,也欢迎大家讨论。
Eastmount
2021/12/03
1.4K0
[Python攻防] 二.Python能做什么渗透?正则表达式、网络爬虫和套接字通信入门
爬取《The Hitchhiker’s Guide to Python!》python进阶书并制成pdf
这是日常学python的第15篇原创文章 前几篇文章我们学习了requests库和正则,还有个urllib库,我上篇文章也用了requests库来教大家去爬那些返回json格式的网页,挺好玩的。有读者让我来个正则的,所以我今天就来个正则+requests来进行爬取。 今天原来是想爬小说的,但想到我不怎么看小说,读者也是都喜欢学习的,对吧?嘻嘻!所以我来爬个与python相关的内容,恰好前几天我又看到别人推荐的一本python进阶书,这本书的作者是我们的python大神kennethreitz征集各路爱好p
sergiojune
2018/04/04
9920
爬取《The Hitchhiker’s Guide to Python!》python进阶书并制成pdf
爬虫实践 | 维基百科深度优先与广度优先的开展
本爬虫目标为爬取维基百科上词条的链接,注意一点,在运行爬虫时注意不要过快,过频密的请求爬取维基百科网页,以免对服务器产生大量负荷。
野原测试开发
2019/07/10
1.8K0
爬虫实践 | 维基百科深度优先与广度优先的开展
Python3网络爬虫(三):漫画下载,动态加载、反爬虫这都不叫事!
经过上两篇文章的学习,爬虫三步走:发起请求、解析数据、保存数据,已经掌握,算入门爬虫了吗?
Jack_Cui
2020/05/09
1.9K0
Python3网络爬虫(三):漫画下载,动态加载、反爬虫这都不叫事!
网络爬虫有什么用?怎么爬?手把手教你爬网页(Python代码)
导读:本文主要分为两个部分:一部分是网络爬虫的概述,帮助大家详细了解网络爬虫;另一部分是HTTP请求的Python实现,帮助大家了解Python中实现HTTP请求的各种方式,以便具备编写HTTP网络程序的能力。
IT阅读排行榜
2019/05/09
2.7K0
网络爬虫有什么用?怎么爬?手把手教你爬网页(Python代码)
Python爬虫项目实战案例-批量下载网易云榜单音乐保存至本地
Win平台: “以管理员身份运行”cmd,执行pip install requests
Srlua
2024/03/01
5670
Python爬虫项目实战案例-批量下载网易云榜单音乐保存至本地
同时用R语言和Python爬取知乎美图
学习Python已有两月有余,是时候检验下学习效果了,之前练习了不少R语言数据爬取,Python的爬虫模块还没有来得及认真入门,乱拼乱凑就匆忙的开始了,今天就尝试着使用R+Python来进行图片爬取,
数据小磨坊
2018/04/11
1.2K0
同时用R语言和Python爬取知乎美图
Python 学习入门(6)—— 网页爬虫
Python抓取网页方法,任务是批量下载网站上的文件。对于一个刚刚入门python的人来说,在很多细节上都有需要注意的地方,以下就分享一下在初学python过程中遇到的问题及解决方法。
阳光岛主
2019/02/19
2.1K0
Python 学习入门(6)—— 网页爬虫
[Python从零到壹] 七.网络爬虫之Requests爬取豆瓣电影TOP250及CSV存储
requests模块是用Python语言编写的、基于urllib的第三方库,采用Apache2 Licensed开源协议的http库。它比urllib更方便简洁,既可以节约大量的工作,又完全满足http测试需求。requests是一个很实用的Python库,编写爬虫和测试服务器响应数据时经常会用到,使用requests可以轻而易举的完成浏览器相关操作。功能包括:
Eastmount
2021/12/02
1.9K0
[Python从零到壹] 七.网络爬虫之Requests爬取豆瓣电影TOP250及CSV存储
图解爬虫,用几个最简单的例子带你入门Python爬虫
爬虫一直是Python的一大应用场景,差不多每门语言都可以写爬虫,但是程序员们却独爱Python。之所以偏爱Python就是因为她简洁的语法,我们使用Python可以很简单的写出一个爬虫程序。本篇博客将以Python语言,用几个非常简单的例子带大家入门Python爬虫。
ZackSock
2020/12/08
7530
图解爬虫,用几个最简单的例子带你入门Python爬虫
Python: “股票数据定向爬虫”实例
文章背景:之前学习了BeautifulSoup模块和Re库(参见文末的延伸阅读),在此基础上,获取沪深两市A股所有股票的名称和交易信息,并保存到文件中。
Exploring
2022/09/20
1.2K2
Python: “股票数据定向爬虫”实例
《Python网络爬虫与数据挖掘小课堂》——part4
Requests库项目地址:http://docs.python-requests.org/en/master/
IT技术小咖
2019/11/24
6380
python requests模块详解
requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的:  python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码。  我也看了下requests的文档,确实很简单,适合我这种懒人。下面就是一些简单指南。  插播个好消息!刚看到requests有了中文翻译版,建议英文不好的看看,内容也比我的博客好多了,具体链接是:http://cn.python-requests.org/en/latest/(不过是v1.1.0版,另抱歉,之前贴错链接了)。  1. 安装  安装很简单,我是win系统,就在这里下载了安装包(网页中download the zipball处链接),然后$ python setup.py install就装好了。  当然,有easy_install或pip的朋友可以直接使用:easy_install requests或者pip install requests来安装。  至于linux用户,这个页面还有其他安装方法。 
py3study
2020/01/06
2.4K0
Python爬虫:抓取多级页面数据
前面讲解的爬虫案例都是单级页面数据抓取,但有些时候,只抓取一个单级页面是无法完成数据提取的。本节讲解如何使用爬虫抓取多级页面的数据。
用户10002156
2023/08/07
6220
Python爬虫:抓取多级页面数据
【python爬虫 2】BeautifulSoup快速抓取网站图片
学习,最重要的是要了解它,并且使用它,正所谓,学以致用、本文,我们将来介绍,BeautifulSoup模块的使用方法,以及注意点,帮助大家快速了解和学习BeautifulSoup模块。有兴趣了解爬虫的小伙伴们,赶快学起来吧。
大家一起学编程
2022/01/25
1.4K0
【python爬虫 2】BeautifulSoup快速抓取网站图片
Python爬虫 | 爬虫基础入门看这一篇就够了
其实,一开始学python的时候,我是冲着数据处理分析去了,那个pandas什么的。后来,发现爬虫挺好玩,可以解决纯手工采集网上数据的繁琐问题,比如我用的比较多的爬取taptap某游戏评价内容、某视频网站某剧的弹幕、某评的店铺信息、某牙主播信息等等。
可以叫我才哥
2021/08/05
3.1K0
python_爬虫基础学习
Beautiful Soup库:解析HTML页面(pycharm中安装bs4即可)
Mirror王宇阳
2020/11/13
1.9K0
python_爬虫基础学习
利用python pip以及pyCharm安装requests第三方库「建议收藏」
在利用python进行进行数据爬虫的时候,我们通常会使用requests第三方库,安装requests的方法通常有以下几种:
全栈程序员站长
2022/09/27
3K0
利用python pip以及pyCharm安装requests第三方库「建议收藏」
推荐阅读
相关推荐
Python老司机手把手带你写爬虫,整站下载妹子图,一次爽个够!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验