内容:
要求:
爬取湖北师范大学校园官网新闻,将其标题,内容,来源和发布时间写入CSV文件中。
分析:
湖北师范大学校园官网新闻网页:由于刚开始爬取可以根据其模块将其慢慢爬取。
爬取摸个面板:
先试着爬取某个面板:(学校要闻)
部分代码:
将光标移到对应的模板可看到其源代码(如下图)可发现在
标签下,而我们需要获取的信息均在
- 标签下。代码如下:
#爬取模块1下的新闻要闻模块
lilist=doc.find('div',{
'class':'xxyw'}).findAll('li');
爬取此模板下的一级参数:(代码如下)
#爬取一级参数
for x in lilist:
Title=x.find('a').text;
Time=x.select('span')[-1].string
Link='http://www.news.hbnu.edu.cn'+x.find('a').get('href')
Link_1=Link
#print(Link)
print(Title)
print(Time)
self.draw_detail_list(Link,Title,Time);
pass
写入CSV文件的方法:
将解析得到的内容(字典格式)逐行写入csv文件:(代码如下)
#将解析得到的内容(字典格式)逐行写入csv文件
def write_dictionary_to_csv(self,dict,filename):
file_name='{}.csv'.format(filename)
with open(file_name, 'a',encoding='utf-8') as f:
file_exists = os.path.isfile(filename)
w =csv.DictWriter(f, dict.keys(),delimiter=',', quotechar