python web页面元素提取案例

内容:提取国家地理中文网的图片链接(网站源码保存为HTML文档)

本案例可以分成以下步骤:
1.读取保存在本地的HTML文档

2.解析并提取其中的图片链接

3.输出提取结果到屏幕

4.保存提取结果为文件

采用自顶而下的的设计思路。

以下是国家地理中文网的网页源码一角

def getHTMLlines(htmlpath):
	f=open(htmlpath,"r",encoding='utf-8')
	ls=f.readlines()
	f.close()
	return ls

def extractImageUrls(htmllist):
	urls=[]
	for line in htmllist:
		if 'img' in line:
			url=line.split('src')[-1].split('"')[1]
			if 'http' in url:
				urls.append(url)
	return urls

def showResults(urls):
	count=0
	for url in urls:
		print('第{:2}个URL:{}'.format(count,url))
		count+=1

def saveResults(filepath,urls):
	f=open(filepath,"w")
	for url in urls:
		f.write(url+"\n")
	f.close()

def main():
	inputfile='nationalgeographic.html'
	outputfile='nationalgeographic-urls.txt'
	htmlLines=getHTMLlines(inputfile)
	imageUrls=extractImageUrls(htmlLines)
	showResults(imageUrls)
	saveResults(outputfile,imageUrls)
main()

附上py源代码:运行程序可以得到几十个图片链接,见下截图。

 

 可以复制链接去浏览器打开,就可以看到爬取的效果了,这是其中随机一个链接对应的图片。

py例题案例保存下来,以便更加深入的学习,不喜勿喷,谢谢。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值