Selenium2+python自動化37-爬頁面源碼(page_source)


前言

有時候通過元素的屬性的查找頁面上的某個元素,可能不太好找,這時候可以從源碼中爬出想要的信息。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高級教程》已出書:selenium webdriver基於Python源碼案例

(購買此書送對應PDF版本)

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM