本文共 605 字,大约阅读时间需要 2 分钟。
待爬取的20条新闻部分如下:
通过观察审查元素发现,标题,链接和时间都藏在class=result里面,一个页面共有20条新闻,只要循环20遍,每次取其中div的相应元素即可。
#coding:utf-8
#引入相关模块 import requests from bs4 import BeautifulSoupurl =
"http://news.baidu.com/ns?cl=2&rn=20&tn=news&word=%E4%B8%8A%E6%B5%B7%E6%B5%B7%E4%BA%8B%E5%A4%A7%E5%AD%A6"
#请求搜索上海海事大学关键字新闻网页的URL,获取其text文本 response = requests.get(url) #对获取到的文本进行解析 html = response.text soup=BeautifulSoup(html,features='lxml') #根据HTML网页字符串创建BeautifulSoup对象 news=soup.find_all('div', {"class": "result"}) for t in news: data = { "标题":t.find('a').text, "链接":t.find('a')['href'], "时间":t.find('p').get_text() }print(data)
运行结果如下: