python3+selenium(十三)正则表达式获取网页href属性

  • Post author:
  • Post category:python




命题

获取百度界面上所有a标签内的href属性



思路

思路类似爬虫

https://blog.csdn.net/Amy8020/article/details/88844309

  1. 读取网页中源码
  2. 根据网页源码制定正则表达式,进行匹配
  3. 将匹配结果存入指定文件



知识点

  1. href+连接文字 :

    <a.+?href=”(.+?)”.*>(.+)


    单独href :

    <a.+?href=”(.+?)”.*>


    单独连接文字:

    >(.+)
  2. 创建、写入文件


    文件以W模式操作时,一定不能放在循环体内部
import os
 #以“只写"模式【不可读;不存在则创建;存在则清空内容】,
f=open('e:/urllist','w',encoding='utf-8') 
#写入文件,每写完一条数据换行
f.write(strf+'\n')



源码

import re
import urllib.request
import os
#获取网页源码
def getHtml(url):
    page=urllib.request.urlopen(url)
    html=page.read()
    return html.decode('UTF-8')
#匹配正则表达式
def getUrl(html):
    reg= r' <a.+?href=\"(.+?)\".*>'
    urlre=re.compile(reg)
    urllist=urlre.findall(html)
    f=open('e:/urllist','w',encoding='utf-8')
#匹配结果写入指定文件
    for urlre in urllist:
        strf=str(urlre)
        f.write(strf+'\n')
url='http://www.baidu.com'
html=getHtml(url)
getUrl(html)



运行结果

在这里插入图片描述



版权声明:本文为Amy8020原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。