获取其他信息
打开 pageCode.txt 文件 (也可以直接在原网页 F12 调试获取),查看需要获取数据的标签信息。
比如我现在要拿图片
写出图片的正则表达式: reg = r’src=“(.+?.jpg)”’
解释下吧——匹配以 src=“开头然后接一个或多个任意字符 (非贪婪),以.jpg” 结尾的字符串。比如图中红框内 src 后 双引号里的链接就是一个匹配的字符串。
接着我们要做的就是从 get_html 方法返回的辣么长一串字符串中 拿到 满足正则表达式的 字符串。
用到 python 中的 re 库中的 re.findall(str) 它返回一个满足匹配的字符串组成的列表
import urllib.request
import chardet
import re
page = urllib.request.urlopen(‘http://www.meituba.com/tag/juesemeinv.html’) # 打开网页
htmlCode = page.read() # 获取网页源代码
#print(chardet.detect(htmlCode)) # 查看编码方式
data = htmlCode.decode(‘utf-8’)
#print(data) # 打印网页源代码
#pageFile = open(‘pageCode.txt’,‘wb’)# 以写的方式打开 pageCode.txt
#pageFile.write(htmlCode)# 写入
#pageFile.close()# 开了记得关
reg = r’src=“(.+?.jpg)”’# 正则表达式
reg_img = re.compile(reg)# 编译一下,运行更快
imglist = reg_img.findall(data)# 进行匹配
for img in imglist:
print(img)
建议使用 markdown 语法编辑文章,展现更优雅 😊