命题
获取百度界面上所有a标签内的href属性
思路
思路类似爬虫
https://blog.csdn.net/Amy8020/article/details/88844309
- 读取网页中源码
- 根据网页源码制定正则表达式,进行匹配
- 将匹配结果存入指定文件
知识点
-
href+连接文字 :
<a.+?href=”(.+?)”.*>(.+)
单独href :
<a.+?href=”(.+?)”.*>
单独连接文字:
>(.+)
-
创建、写入文件
文件以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 版权协议,转载请附上原文出处链接和本声明。