延续上一章节,当我们用 requests 取得网站内容后,
就可以使用 BeautifulSoup 来解析网页资料!
select 的使用方式
功能
select()class 使用 " . "id 使用 " # "範例: 我们要取得标题跟网址,从图片中可以看到内容是包覆在
<div class="block_content">
,接着下一层是
<div class="piece clearfix">
、<h3>
、最后出现在 <a>
中。程式码:
import requestsfrom bs4 import BeautifulSoup url = 'https://www.ettoday.net/news/focus/政治/'res = requests.get(url).textcontent = BeautifulSoup(res, 'lxml')for i in content.select('.block_content .piece h3 a'): print(i['title']) print('https://www.ettoday.net' + i['href']) print('----------------')
find()较适合用在爬取单一内容
新闻中的内文均包在 <div class="story" itemprop="articleBody">
程式码:
import requestsfrom bs4 import BeautifulSoup url = 'https://www.ettoday.net/news/20200811/1781998.htm'res = requests.get(url).textcontent = BeautifulSoup(res, 'lxml')article = content.find('div',{'itemprop':"articleBody"}).get_text(strip=True)print(article)