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

來源:互聯網
上載者:User

標籤:port   archive   firefox   異常   Regex   link   div   分行符號   列印   

前言

有時候通過元素的屬性的尋找頁面上的某個元素,可能不太好找,這時候可以從源碼中爬出想要的資訊。selenium的page_source方法可以擷取到頁面源碼。

selenium的page_source方法很少有人用到,小編最近看api不小心發現這個方法,於是突發奇想,這裡結合python的re模組用Regex爬出頁面上所有的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

  

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.