利用page_source抓取网页中的URL,进行链接测试
selenium的page_source方法可以获取到页面源码,下面就把它应用到链接测试中。
- # coding:utf-8
- __author__ = 'helen'
- import re,requests
- from selenium import webdriver
- # 爬取网页资源,并用正则表达式匹配出URL
- def get_urlList(target_page):
- driver = webdriver.Firefox()
- driver.get(target_page)
- # 获取网页资源
- page = driver.page_source
- # 用正则表达式匹配URL集
- url_context = re.findall('href=\"(.*?)\"',page,re.S)
- url_list = []
- for url in url_context:
- # 因为url_context中匹配的内容有些不是URL,所以加个if来过滤一下
- if 'http'in url:
- url_list.append(url)
- # 因为网页中的URL基本是正确的,下面我们可以加入一个不存在的URL,检查异常URL的输出
- url_list.append('http://www.cnblogs.com/helenMemery/p/35.html')
- return url_list
- # 通过request.get检查URL的返回编码状态,以确认URL返回正常
- def test_url(url_list):
- try:
- for url in url_list:
- r = requests.get(url=url)
- if r.status_code !=200:
- print url
- except requests.HTTPError,e:
- e.strerror
- if __name__ == '__main__':
- target_page = 'http://www.cnblogs.com/helenMemery/'
- url_list = get_urlList(target_page)
- test_url(url_list)
在此感谢悠总的分享:http://www.cnblogs.com/yoyoketang/p/6512604.html
利用page_source抓取网页中的URL,进行链接测试的更多相关文章
- Java 抓取网页中的内容【持续更新】
背景:前几天复习Java的时候看到URL类,当时就想写个小程序试试,迫于考试没有动手,今天写了下,感觉还不错 内容1. 抓取网页中的URL 知识点:Java URL+ 正则表达式 import jav ...
- 利用Crowbar抓取网页异步加载的内容 [Python俱乐部]
利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 在做 Web 信息提取.数据挖掘的过程中,一个关键步骤就是网页源代码的获取.但是出于各种原因 ...
- php抓取网页中的内容
以下就是几种常用的用php抓取网页中的内容的方法.1.file_get_contentsPHP代码代码如下:>>>>>>>>>>>&g ...
- Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>
Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...
- 浅谈如何使用python抓取网页中的动态数据
我们经常会发现网页中的许多数据并不是写死在HTML中的,而是通过js动态载入的.所以也就引出了什么是动态数据的概念, 动态数据在这里指的是网页中由Javascript动态生成的页面内容,是在页面加载到 ...
- Python抓取网页中的图片到本地
今天在网上找了个从网页中通过图片URL,抓取图片并保存到本地的例子: #!/usr/bin/env python # -*- coding:utf- -*- # Author: xixihuang # ...
- 用正则表达式抓取网页中的ul 和 li标签中最终的值!
获取你要抓取的页面 const string URL = "http://www.hn3ddf.gov.cn/price/GetList.html?pageno=1& ...
- python抓取网页中图片并保存到本地
#-*-coding:utf-8-*- import os import uuid import urllib2 import cookielib '''获取文件后缀名''' def get_file ...
- python 解决抓取网页中的中文显示乱码问题
关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换.还包括一些如日文.韩文 .俄文.藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明. 网络爬虫出现乱码的原因 源网页编码和爬取下来 ...
随机推荐
- js实现二分搜索法
二分搜索法: 也称折半搜索,是一种在有序数组中查找特定元素的搜索算法. 实现步骤: 1. 首先从数组中间开始查找对比,若相等则找到,直接返回中间元素的索引. 2. 若查找值小于中间值,则在小于中间值的 ...
- PHP的只是结构图
- windows系统添加服务命令
管理员身份进入cmd sc create TestSvr binPath= D:\Program Files\test.exe start= auto
- vue2.0中,由于页面完成之后dom还未加载完成如何进行操作
再vue中,当页面加载完成以后,dom还没有加载,是无法获取进行操作的,但是在vue2.0中提供了一个方法:this.$nextTick,在这个回调函数里面写dom操作即可: 如下代码: create ...
- angular的属性绑定
1. 图片地址属性绑定 html文件 <img [src]="imgUrl"> ts文件 export class ProductComponent implement ...
- Windows7 x64系统下安装Nodejs并在WebStorm下搭建编译less环境
1. 打开Nodejs官网http://www.nodejs.org/,点“DOWNLOADS”,点64-bit下载“node-v0.10.33-x64.msi”. 2. 下载好后,双击“node-v ...
- Android 满屏显示自定义的View,并进行移动
新建一个类,继承View package com.topcrab.mygame; import android.content.Context; import android.graphics.Bit ...
- Servlet------>response
request代表了请求 response代表响应 HttpServletResponse setStatus();----->发送状态码 setHeader();---->发送响应头 g ...
- 20165330 2017-2018-2 《Java程序设计》第6周学习总结
课本知识总结 第八章 常用实用类 String类 String对象 构造方法: 使用String类声明对象并创建对象 String s = new String("we are studen ...
- PacificA: Replication in Log-Based Distributed Storage Systems
PacificA: Replication in Log-Based Distributed Storage Systems - Microsoft Research https://www.micr ...