利用爬虫的re、xpath等知识,爬取到洛阳师范学院官网上的新闻,内容有:新闻标题, 发布时间, 新闻链接, 阅读次数, 新闻来源五个属性。 2.把我们爬到的数据放到一个csv的文件中!
时间: 2024-03-08 18:45:13 浏览: 17
以下是使用Python爬虫和正则表达式、XPath等知识爬取洛阳师范学院官网上新闻,并将其保存到CSV文件中的示例代码:
```python
import requests
import re
from lxml import etree
import csv
# 发送HTTP请求获取网页内容
url = 'http://www.lynu.edu.cn/xyxw.htm'
response = requests.get(url)
html = response.text
# 使用正则表达式提取新闻标题、发布时间、新闻链接、阅读次数、新闻来源
pattern = r'<li><a href="(.*?)" title="(.*?)">(.*?)<\/a><span>\[(.*?)\]<\/span><\/li>'
news_list = re.findall(pattern, html)
# 使用XPath提取新闻标题、发布时间、新闻链接、阅读次数、新闻来源
# html = etree.HTML(html)
# news_list = html.xpath('//ul[@class="list"]/li/a')
# 将新闻数据保存到CSV文件中
with open('news.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow(['新闻标题', '发布时间', '新闻链接', '阅读次数', '新闻来源'])
for news in news_list:
title = news[1]
url = 'http://www.lynu.edu.cn' + news[0]
time = news[3]
source = ''
read_count = ''
writer.writerow([title, time, url, read_count, source])
```
需要注意的是,由于洛阳师范学院官网的页面结构可能会发生变化,因此需要根据实际情况调整正则表达式或XPath表达式。此外,爬取数据时需要遵守法律法规和网站规定,不得爬取敏感信息和个人隐私。