如何获取一个页面内所有URL链接?在Python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL。

什么是Beautiful Soup?

Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。

BeautifulSoup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,则 Python 会使用 Python默认的解析器,lxml 解析器更加强大,速度更快。

全部代码:

from bs4 import BeautifulSoup

import time,re,urllib2

t=time.time()

websiteurls={}

def scanpage(url):

websiteurl=url

t=time.time()

n=0

html=urllib2.urlopen(websiteurl).read()

soup=BeautifulSoup(html)

pageurls=[]

Upageurls={}

pageurls=soup.find_all("a",href=True)

for links in pageurls:

if websiteurl in links.get("href") and links.get("href") not in Upageurls and links.get("href") not in websiteurls:

Upageurls[links.get("href")]=0

for links in Upageurls.keys():

try:

urllib2.urlopen(links).getcode()

except:

print "connect failed"

else:

t2=time.time()

Upageurls[links]=urllib2.urlopen(links).getcode()

print n,

print links,

print Upageurls[links]

t1=time.time()

print t1-t2

n+=1

print ("total is "+repr(n)+" links")

print time.time()-t

scanpage("http://news.163.com/")

利用BeautifulSoup还可以有针对性的获取网页链接:Python爬虫获取网页上的链接,通过beautifulsoup的findall()方法对匹配的标签进行查找。

最后注意:光理论是不够的。这里顺便送大家一套2020最新python入门到高级项目实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,还可以跟老司机交流讨教!

本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

python爬虫获取url_Python爬虫如何获取页面内所有URL链接?本文详解相关推荐

  1. python爬虫获取下一页url_Python爬虫获取页面所有URL链接过程详解

    如何获取一个页面内所有URL链接?在python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...

  2. python爬虫如何从一个页面进入另一个页面-Python爬虫如何获取页面内所有URL链接?本文详解...

    如何获取一个页面内所有URL链接?在Python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...

  3. python爬虫之js链接跳转抓取_Python爬虫获取页面所有URL链接过程详解

    如何获取一个页面内所有URL链接?在Python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...

  4. python中randrange函数_python 函数中的内置函数及用法详解

    总结一下Python解释器包含的一系列的内置函数,下面表格按字母顺序列出了内置函数: 下面就一一介绍一下内置函数的用法: 1.abs() 返回一个数值的绝对值,可以是整数或浮点数等. print(ab ...

  5. [Python图像识别] 五十.Keras构建AlexNet和CNN实现自定义数据集分类详解

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  6. 操作系统:基于页面置换算法的缓存原理详解(下)

    概述: 在上一篇<操作系统:基于页面置换算法的缓存原理详解(上)>中,我们主要阐述了FIFO.LRU和Clock页面置换算法.接着上一篇说到的,本文也有三个核心算法要讲解.分别是LFU(L ...

  7. python标准类型内建模块_Python内建模块struct实例详解

    本文研究的主要是Python内建模块struct的相关内容,具体如下. Python中变量的类型只有列表.元祖.字典.集合等高级抽象类型,并没有像c中定义了位.字节.整型等底层初级类型.因为Pytho ...

  8. python内置序列类型_Python序列内置类型之元组类型详解

    Python序列内置类型之元组类型详解 1.元祖的概念 Python中的元组与列表类似,都是一个序列,不同的是元组的元素不能修改而已. 2.元组的创建 元组使用小括号,列表使用方括号. tup = ( ...

  9. python 文件读写with open模式r,r+ w,w+ a,a+区别详解

    python 文件读写with open模式r,r+ w,w+ a,a+区别详解 python中的 with open主要要来进行文件读写的操作 在 Python 中使用文件的关键函数是 open() ...

最新文章

  1. [好书推荐].计算机原理与设计——Verilog HDL版等;待续
  2. Query String Object 2.1.7
  3. 动态规划求解0-1背包
  4. eclipse 新建java无scr_解决eclipse中没有js代码提示的问题
  5. 修改网站首页批处理_几个神奇的批处理,万事不求人!
  6. WebHelper类
  7. mysql怎么访问网页版_mysql在本地已经启动,但是在网页上不能直接访问的解决...
  8. 小白设计模式:访问者模式
  9. sql系列(基础篇)-第一章 关于sysdate
  10. SQL Server 2019基础
  11. Mac 下 CocoaPods软件⁩汉化
  12. android textview html font标签不好用
  13. C语言实现钢琴块小游戏(低仿拉胯版)
  14. 【数据结构与算法】之深入解析“扫雷游戏”的求解思路与算法示例
  15. 构建一体化数字营销平台,助力医药企业实现销售转化能级大幅跃迁 | 案例研究
  16. Linux之安装Nginx(安装包方式)
  17. Android系统SD卡各类文件夹名称
  18. Ubuntu 16.04通过命令行连接Wi-Fi
  19. 蓝桥杯第八届真题 :迷宫
  20. 牛客小白月赛5 - A 无关(relationship) (容斥)

热门文章

  1. Struts里面的配置笔记
  2. Format Currency Sample
  3. JSON实现桌面可移动的小便签
  4. uniapp图标_uniapp扩展自定义uniIcon组件图标
  5. quick time不可用_那些校园中“不可言说”的鄙视链
  6. 群晖编译LCD4Linux,LCD4LINUX配置文件一些参数使用解释。
  7. php怎样数据缓存文件,php数据缓存到文件类设计
  8. Java语言所有异常类均继承自_Java将运行错误分为两类:(__)和(__), 其对应的类均派生自(__)类;...
  9. html 图片上放置按钮,用CSS在图片上再加一个小按钮
  10. covariance matrix r语言_时间序列分析|ARIMAX模型分步骤详解和R中实践