这个可以筛选属性的,我下面用的那个
hyperlink = bs.select('h1.title-article')[0].text
看到了吗,这个就是用来筛选属性的h1是标题,后面的那个东西就是属性,[0]是为了把它从列表里面弄出来,text是告诉你的计算机我只要中文的
def lianjie():
from urllib.request import urlopen
from bs4 import BeautifulSoup
k = input()
def pa(html):
bs = BeautifulSoup(html, 'html.parser') # 解析网页
return bs
list = []
# 这个片段是为了将文章进行处理,排除掉那些none还有JavaScript
try:
html = urlopen(k)
bs = pa(html)
hyperlink = bs.find_all('a')
for h in hyperlink:
hh = h.get('href')
if len(str(hh)) > 25:
list.append(hh)
except ValueError:
print('')
except Exception:
print("")
# 没有预先判断到的错误怎么办?
# ZeroDivisionError
finally:
# 无论是否有异常,都会执行的代码
print('')
for i in list:
try:
html = urlopen(i)
bs = BeautifulSoup(html, 'html.parser') # 解析网页
hyperlink = bs.select('h1.title-article')[0].text
print(hyperlink, ':', i)
# print(bs.select('title'))
except ValueError:
print('')
except Exception:
print("")
# 没有预先判断到的错误怎么办?
# ZeroDivisionError
finally:
# 无论是否有异常,都会执行的代码
print('')
lianjie()