**
爬取要求
**
来自一次作业,要求根据所给事件搜索相关新闻,爬取新闻标题,内容及评论(5条)部分,存入excel,在对其进行分词及去停用词,存入新的excel
数据爬取中使用bs4,正则表达式
分词过程引用包jieba
选取澎湃新闻为目标,事件“海南一4岁男童被遗忘校车内离世”
点开其中一个,容易在局部搜索中定位到标题和内容,在爬取过程中却发现,此url下不存在评论内容
当前url为:
通过全局搜索发现评论内容存放于
发现末尾数字id一致,抓包headers中没有相关参数,考虑截取数字,按固有形式拼接至‘contid=’之后,以此获取评论页url,定位评论
代码:
from bs4 import BeautifulSoup
import requests
import re
import xlwt
import jieba
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3742.400 QQBrowser/10.5.3866.400'
}
url=['https://www.thepaper.cn/newsDetail_forward_3590585',
'https://www.thepaper.cn/newsDetail_forward_3592499',
'https://www.thepaper.cn/newsDetail_forward_3610103',
'https://www.thepaper.cn/newsDetail_forward_3595326',
'https://www.thepaper.cn/newsDetail_forward_3639371']
# 创建停用词list
def stopwordslist(filepath):
stopwords = [line.strip() for line in open(filepath, 'r', encoding='utf-8').readlines()]
return stopwords
爬取部分
title_data=[] #用于存放标题数据
wenzi_data=[] #存放文字内容
com_data=[] #存放评论数据
wenzi_out = []