Selenium2+python自动化37-爬页面源码(page_source)【转载】

摘要:
前言有时会通过元素的属性在页面上找到元素,这可能很难找到。此时,您可以从源代码中抓取所需的信息。硒的页面_源方法可以获得页面源代码。

前言

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

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

一、page_source

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

2.重新赋值后打印出来

Selenium2+python自动化37-爬页面源码(page_source)【转载】第1张

二、re非贪婪模式

1.这里需导入re模块

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

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

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

Selenium2+python自动化37-爬页面源码(page_source)【转载】第2张

三、删选url地址出来

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

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

Selenium2+python自动化37-爬页面源码(page_source)【转载】第3张

四、参考代码

# 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="http://t.zoukankan.com/(.*?)"', page, re.S)
url_all = []
for url in url_list:
    if "http" in url:
        print url
        url_all.append(url)
# 最终的url集合
print url_all

免责声明:文章转载自《Selenium2+python自动化37-爬页面源码(page_source)【转载】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Outlook 2016 自动发送/接收无法正常工作WinForm 创建与读写配置文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ZRender源码分析5:Shape绘图详解

回顾 上一篇说到:ZRender源码分析4:Painter(View层)-中,这次,来补充一下具体的shape 关于热区的边框 以圆形为例: document.addEventListener('DOMContentLoaded', function () { var canvasDom = document.getElementById('canvas...

Linux SVN 操作详解(转)

1、将文件checkout到本地目录 svn checkoutpath(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co 2、往版本库中添加新的文件 svnaddfile例如:svnaddtest.php(添加test.php)svnadd*.php(添加当前目录下所...

sqlmap 绕过WAF

1、基本的语法 sqlmap 更新  sqlmap -update 具体的使用方法: sqlmap -u url --current-user sqlmap -u url --current-db sqlmap -u url --tables -D "db_name" sqlmap -u url --columns -T "tablename" users...

通过url 下载文件

1、问题简介   通过文件的url,将文件下载到本地。文件存储的位置为:tomcat服务器的文件夹(通过读取properties文件:可看:http://www.cnblogs.com/0201zcr/p/4700418.html) 2、实现思路   读取properties文件,将获得文件将要存储的位置   通过java的Url类,将网上的文件下载到本地...

sql 简单查询修改

1.group by order by select siteid count(*)as 1 from webdb where gathtrime between '2017-06-14 00:00:00' and '2017-06-14 23:59:59'group by siteid order by 1desc 2 inlimit sel...

源码剖析——深入Windows句柄本质

参考资料: 1. http://www.codeforge.cn/read/146318/WinDef.h__html windef.h头文件 2. http://www.codeforge.cn/read/146318/WinNT.h__html winnt.h头文件 3. https://msdn.microsoft.com/en-us/library...