博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Selenium2+python自动化37-爬页面源码(page_source)
阅读量:6186 次
发布时间:2019-06-21

本文共 886 字,大约阅读时间需要 2 分钟。

前言

有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息。selenium的page_source方法可以获取到页面源码。

selenium的page_source方法很少有人用到,小编最近看api不小心发现这个方法,于是突发奇想,这里结合python的re模块用正则表达式爬出页面上所有的url地址,可以批量请求页面url地址,看是否存在404等异常

一、page_source

1.selenium的page_source方法可以直接返回页面源码

2.重新赋值后打印出来

二、re非贪婪模式

1.这里需导入re模块

2.用re的正则匹配:非贪婪模式

3.findall方法返回的是一个list集合

4.匹配出来之后发现有一些不是url链接,可以删选下

三、删选url地址出来

1.加个if语句判断,‘http’在url里面说明是正常的url地址了

2.把所有的url地址放到一个集合,就是我们想要的结果啦

四、参考代码

# coding:utf-8

from selenium import webdriver
import re
driver = webdriver.Firefox()
driver.get("http://www.cnblogs.com/yoyoketang/")
page = driver.page_source
# print page
# "非贪婪匹配,re.S('.'匹配字符,包括换行符)"
url_list = re.findall('href=\"(.*?)\"', page, re.S)
url_all = []
for url in url_list:
    if "http" in url:
        print url
        url_all.append(url)
# 最终的url集合
print url_all

学习过程中有遇到疑问的,可以加selenium(python+java) QQ群交流:646645429

selenium+python高级教程》已出书:

(购买此书送对应PDF版本)

 

 

 

你可能感兴趣的文章
[Android]SIM字段EF_SUME(6F54) 可用作STK app name
查看>>
聊聊并发(十)生产者消费者模式
查看>>
关于qstring转char乱码问题。
查看>>
Kurento源码安装(Ubuntu 14.04和 Ubuntu 16.04)
查看>>
Redis在Php项目中的实际应用场景
查看>>
面试题(1)
查看>>
【第3章】数据库的基本操作
查看>>
MySQL备份原理详解
查看>>
分别查找主机占用CPU和占用内存最大的进程,要求能查出进程PID,启动目录,启动命令,占用文件描述符数量,占用端口...
查看>>
android 清除缓存cache
查看>>
powerdesigner连接数据库的问题
查看>>
git-git基本使用
查看>>
Spring Cloud Stream如何处理消息重复消费?
查看>>
CSS3 Media Queries 详解
查看>>
JavaLib | 使用AOP帮你记录日志
查看>>
Hibernate与 MyBatis的比较
查看>>
DNS劫持原理与实现
查看>>
努力学习
查看>>
乐观锁和悲观锁初步认识
查看>>
MFC中的几个常用类——CWinApp
查看>>