天天看点

Python通过网页内的文本反向找到其href链接

#write by 执笔画红颜 #红颜一笑一倾城#

#根据文字text 查找链接 href 

import requests,bs4,html5lib,re #导入包
res=requests.get('http://www.baidu.com/s?wd=CSDN')#搜索关键字'CSDN'
res.raise_for_status()
res.encoding='utf8'#编码格式
soup=bs4.BeautifulSoup(res.text,'html5lib')
#print(soup)

listResult=soup.select('a')
lestelem=[]
for i in range(len(listResult)):
	lestelem.append([])
	lestelem[i]=listResult[i].getText()#获取文本列表
	print(lestelem[i])

listindex=[]
num=0
mo=re.compile('百度百科') #找到百度百科中CSDN的内容和链接
#mo=re.compile('下一页')
for i in range(len(listResult)):
	ress=mo.search(lestelem[i])#在文本列表中匹配正则
	if ress!=None:
		listindex.append([])
		listindex[num]=i#将符合正则的列表内的文本序号保存
		num=num+1
		print(i)

for i in range(len(listindex)):
	print(listResult[listindex[i]].getText())#根据保存的文本序号找到文本
	print(listResult[listindex[i]].get('href'))#根据文本序号找到链接
           

本人是个程序员同时也爱画画 欢迎关注公众号 板绘画画( banhuihuahua ),以及企鹅号: 执笔画紅颜