欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用正則表達式獲取網頁中所需要的信息

 更新時間:2018年01月29日 10:21:51   作者:簾外雨潺潺  
這篇文章主要介紹了Python使用正則獲取網頁中所需要的信息的相關資料,需要的朋友可以參考下

使用正則表達式的幾個步驟:

1、用import re 導入正則表達式模塊;

2、用re.compile()函數創(chuàng)建一個Regex對象;

3、用Regex對象的search()或findall()方法,傳入想要查找的字符串,返回一個Match對象;

4、調用Match對象的group()方法,返回匹配到的字符串。

在交互式環(huán)境中簡單嘗試一下,查詢字符串中的固話:

 import re
 text = '小明家的固話是0755-123456,而小麗家的固話時0789-654321,小王家的電話是123456789'#用于檢測的字符串
 ph_re = re.compile(r'\d{4}?-\d+') #創(chuàng)建Regex對象,匹配幾種電話的方式,\d表示0-9的數字,{4}表示前面的匹配4次,?表示可選,+表示出現(xiàn)1次或多次。
 matchs1 = ph_re.findall(text) #findall()表示查找所有匹配項,返回一個字符串
 matchs2 = ph_re.search(text)#search(),查找第一次匹配的文本,返回一個對象。
 print(matchs1)
 print(matchs2)
 matchs2.group()

返回的結果,是這樣的:

findall()方法返回的是一個字符串,可以直接打印出來。而search()方法返回的是一個對象,所以打印出來的是是如圖的第二行。

調用group(),對象返回匹配的結果。

最后,小王的電話之所以沒有匹配到,是因為'-'沒有進行可選即在其后加上‘?'。

下面進行一個小的實驗,獲取某個網頁中所有的http/https網址,并計算有多少個。

首先是獲取HTML文件。這里要用到requests模塊。

 # -*- coding: utf-8 -*-
 import requests
 import re
 def get_html(url):
  res = requests.get(url)
  res.encoding = 'utf-8'
  html = res.text
  return html

這里get_html函數返回的,其實就類似上面例子中的text,用來匹配的文本。

然后,創(chuàng)建正則表達式:

def get_addr(response):
  addr_regex = re.compile(r'''(
   (http://|https://)?  #http/https
   (www)?
   (\.[a-z1-9A-Z]+)
   (\.com|\.cn)
   )''',re.VERBOSE)#匹配網址,
  matchs = []
  for groups in addr_regex.findall(response):
   matchs.append(groups[0])
  if len(matchs) == 0:
   print('沒有網址')  
  return matchs

這里向re.compile(),傳入變量re.VERBOSE,作為第二個參數,可以將正則表達式放在多行,并進行注釋,如上。

返回一個matchs列表對象。

再來個啟動函數。

 def start():
  url = 'http://news.163.com/18/0127/18/D966K4CO0001899N.html'
  a = get_html(url)
  b = get_addr(a)
  print('\n'.join(b))
  print(str(len(b)))
  print('ok')
if __name__ == '__main__':
  start()

這里傳入的url是我隨意找的一個新聞鏈接。

然后調用get_html()get_addr(),就得到了想要的東西。str(len(b)),為統(tǒng)計的數量。

測試的結果是類似這樣的:

這里似乎獲取一些URL,沒什么卵用。。。但是,如果結合前面的查詢新聞列表的方式,獲取批量url,

而創(chuàng)建的正則是xxx.jpg,然后調用os模塊,os.mkdir(folder)、os.chdir(folder),將獲取到的匹配結果寫入文件,放入某個文件夾。

那么就可以實現(xiàn),從某些網站上批量獲取jpg圖片,然后存入某個文件夾的爬蟲功能。實測,可行!

總結

以上所述是小編給大家介紹的Python使用正則獲取網頁中所需要的信息,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • Python 爬取必應壁紙的實例講解

    Python 爬取必應壁紙的實例講解

    在本篇文章里小編給大家整理的是一篇關于Python 爬取必應壁紙的實例講解,有興趣的朋友們可以跟著學習參考下。
    2020-02-02
  • 如何使用Python控制攝像頭錄制視頻

    如何使用Python控制攝像頭錄制視頻

    這篇文章主要介紹了如何使用Python控制攝像頭錄制視頻,實現(xiàn)過程需要用到三個庫tkinter庫、PIL庫、cv2庫,下面將內容詳細的一步一步實現(xiàn),希望對你有所啟發(fā)并能做一個屬于自己的攝像頭控制程序
    2022-03-03
  • Python3 venv搭建輕量級虛擬環(huán)境的步驟(圖文)

    Python3 venv搭建輕量級虛擬環(huán)境的步驟(圖文)

    這篇文章主要介紹了Python3 venv搭建輕量級虛擬環(huán)境的步驟(圖文),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python sqlalchemy時間戳及密碼管理實現(xiàn)代碼詳解

    Python sqlalchemy時間戳及密碼管理實現(xiàn)代碼詳解

    這篇文章主要介紹了Python sqlalchemy時間戳及密碼管理實現(xiàn)代碼詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Python中的list與tuple集合區(qū)別解析

    Python中的list與tuple集合區(qū)別解析

    這篇文章主要介紹了Python中的list與tuple集合區(qū)別解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Python實現(xiàn)合并excel表格的方法分析

    Python實現(xiàn)合并excel表格的方法分析

    這篇文章主要介紹了Python實現(xiàn)合并excel表格的方法,結合實例形式分析了Python合并Excel表格的原理、實現(xiàn)步驟與相關操作技巧,需要的朋友可以參考下
    2019-04-04
  • Python繪制柱狀圖堆疊圖完整代碼

    Python繪制柱狀圖堆疊圖完整代碼

    有個朋友要求幫忙繪制堆疊柱狀圖,查閱了一些文檔之后也算是完成了,只是一個小demo,下面我就記錄一下,這篇文章主要給大家介紹了關于Python繪制柱狀圖堆疊圖的相關資料,需要的朋友可以參考下
    2023-09-09
  • 如何利用Fabric自動化你的任務

    如何利用Fabric自動化你的任務

    大家都知道Fabric是一個Python庫,可以通過SSH在多個host上批量執(zhí)行任務。你可以編寫任務腳本,然后通過Fabric在本地就可以使用SSH在大量遠程服務器上自動運行。這些功能非常適合應用的自動化部署,或者執(zhí)行系統(tǒng)管理任務。本文將介紹如何利用Fabric自動化你的任務。
    2016-10-10
  • Python爬蟲框架Scrapy常用命令總結

    Python爬蟲框架Scrapy常用命令總結

    這篇文章主要介紹了Python爬蟲框架Scrapy常用命令,結合實例形式總結分析了Scrapy框架中常見的全局命令與項目命令功能、使用方法及操作注意事項,需要的朋友可以參考下
    2018-07-07
  • python 鏡像環(huán)境搭建總結

    python 鏡像環(huán)境搭建總結

    這篇文章主要介紹了python 鏡像環(huán)境搭建總結,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09

最新評論