Python 爬虫篇
原理也很简单,html 链接都是在 a 元素里的,我们就是匹配出所有的 a 元素,当然 a 可以是空的链接,空的链接是 None,也可能是无效的链接。
我们通过 urllib 库的 request 来测试链接的有效性。
当链接无效的话会抛出异常,我们把异常捕获出来,并提示出来,没有异常就是有效的,我们直接显示出来就好了。
需要用到的技术:
python+selenium
python+selenium 基本环境搭建
urllib.request
这是 python 自带的,直接就可以使用。
# -*- coding: GBK -*- from selenium import webdriver import urllib.request from urllib.request import URLError
# 调用chrome浏览器并后台运行 option=webdriver.ChromeOptions() option.add_argument('headless') driver = webdriver.Chrome(chrome_options=option)
driver.get("http://www.tencent.com/") # 要测试的页面 urls = driver.find_elements_by_xpath("//a") # 匹配出所有a元素里的链接
print("当前页面的可用链接如下:")
for url in urls: u=url.get_attribute('href') if u == 'None': # 很多的a元素没有链接,所有是None continue try: response=urllib.request.urlopen(url.get_attribute("href")) # 可以通过urllib测试url地址是否能打开 except: print('Error url: ' + url.get_attribute('href')) # 把测试不通过的url显示出来 else: print(url.get_attribute("href")) # 测试通过的url展示出来
driver.close()
运行成功效果图:
喜欢的点个赞❤吧!
相关文章
- Python使用tkinter组件Label显示简单数学公式
- 内网渗透之DCOM横向移动
- 以目标为导向的语义交流的共同语言——一个课程学习框架
- python爬虫前奏【成信笔记】
- HTML 5 File API:文件拖放上传功能
- 教你快速创建 Python 虚拟环境
- pyenv 实现Python多版本自由切换
- 用 Python 对 Excel文件进行批量操作
- Python - 接入钉钉机器人
- Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
- crontab - 解决 mac 下通过 crontab 设置了 Python 脚本的定时任务却无法运行
- [源码解析] PyTorch分布式(5) ------ DistributedDataParallel 总述&如何使用
- Python科普系列——类与方法(上篇)
- SAP对STO的交货单执行PGI,报错 -Fld selectn for mvmt type 643 acct 400020 differs
- Spring Boot 实现通用 Auth 认证的 4 种方式
- 盘点4种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据
- OushuDB 学习经验分享(三):技术特点
- Java和Python思维方式的不同之处
- Python中日志记录新技能
- 奥比中光Gemini OpenCV—Python使用