Python爬虫如何抓取特定学校新闻的时间及链接?

2026-06-10 21:491阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计781个文字,预计阅读时间需要4分钟。

Python爬虫如何抓取特定学校新闻的时间及链接?

目录使用工具及准备步骤

1.Anaconda Navigator

2.安装chrome_Xpath_v2.0.2

3.使用chrome_Xpath_v2.0.2

环境搭建代码示例效果展示

目录

  • ​​使用工具​​
  • ​​准备步骤​​
  • ​​1. Anaconda Navigator​​
  • ​​2. 安装chrome_Xpath_v2.0.2​​
  • ​​3. 使用chrome_Xpath_v2.0.2​​
  • ​​环境搭建​​
  • ​​代码示例​​
  • ​​效果展示​​

使用工具

PyCharm 2018.2.3
Anaconda Navigator
Python 3.6
谷歌浏览器插件:chrome_Xpath_v2.0.2
微云下载链接:​​​share.weiyun.com/5iE161Y​​

准备步骤

1. Anaconda Navigator

打开Anaconda Navigator,创建一个Python 3.6的运行环境



在 Anaconda Navigator中安装 对应的Python库
要 安装 gevent库、 xlwt库、 etree库、requests库
以下是安装库的方法。




安装成功

如果需要使用命令行进行安装
选择Open Terminal
安装方法:pip3 install 模块名

2. 安装chrome_Xpath_v2.0.2

打开谷歌浏览器 找到自定义及控制

选择扩展程序



安装完成

3. 使用chrome_Xpath_v2.0.2

使用F12,打开 谷歌浏览器 开发者工具


选择:Copy XPath

环境搭建

打开PyCharm







代码示例

#_*_coding:utf-8_*_
# @Author: VVcat
# @Time: 2019/9/27 18:54
# @File: Main.py
# @IDE: PyCharm
# @Email:
# @Version: 1.0

import gevent
import xlwt as xlwt
from lxml import etree
import requests


def school():
xls = xlwt.Workbook(encoding='utf-8') # 创建一个工作簿,括号中为编码方式

# 创建sheet表
# 括号中cell_overwrite_ok=True是为了可以让用户在同一单元格重复写内容,但只保留生效最后一次写入
sheet = xls.add_sheet("school", cell_overwrite_ok=True)
row = 0

for index in range(1, 330): # 页面有329页
if index == 1:
url = "www.zjitc.net/xwzx/xyxw.htm" # 第一页的链接
else:
url = "www.zjitc.net/xwzx/xyxw/" + str(index - 1) + ".htm" # 第一页之后的链接
req = requests.get(url) # 请求获取页面HTML代码
resp = req.content.decode("utf-8") # 设置页面编码格式为utf-8
html = etree.HTML(resp) # 构造了一个XPath解析对象并对HTML文本进行自动修正。
uls = html.xpath("/html/body/div[3]/div[8]/div[2]/div/ul/li/a/div[2]/div") # 对内容进行定位,获取所有的 内容存放在 list集合里
for ul in uls: # 对集合进行遍历
title = ul.xpath("h3") # 获取标题
url = str(title[0].xpath("../../../@href")[0]) # 获取新闻链接
url = url.replace("../..", "www.zjitc.net") # 对新闻链接进行分割拼接
day = ul.xpath("../../div[1]/i") # 获取天数
month = ul.xpath("../../div[1]/em") # 获取月份
sheet.write(row, 0, title[0].text) # 将标题写入excel
sheet.write(row, 1, month[0].text + day[0].text + "日") # 将日期写入excel
sheet.write(row, 2, url) # 将链接写入excel
row += 1
xls.save("school.xls") # 为excel文件命名

if __name__ == '__main__':
school = gevent.spawn(school) # 将函数放入到python协程中
school.join() # 开启协程

效果展示

Python爬虫如何抓取特定学校新闻的时间及链接?

标签:新闻标题

本文共计781个文字,预计阅读时间需要4分钟。

Python爬虫如何抓取特定学校新闻的时间及链接?

目录使用工具及准备步骤

1.Anaconda Navigator

2.安装chrome_Xpath_v2.0.2

3.使用chrome_Xpath_v2.0.2

环境搭建代码示例效果展示

目录

  • ​​使用工具​​
  • ​​准备步骤​​
  • ​​1. Anaconda Navigator​​
  • ​​2. 安装chrome_Xpath_v2.0.2​​
  • ​​3. 使用chrome_Xpath_v2.0.2​​
  • ​​环境搭建​​
  • ​​代码示例​​
  • ​​效果展示​​

使用工具

PyCharm 2018.2.3
Anaconda Navigator
Python 3.6
谷歌浏览器插件:chrome_Xpath_v2.0.2
微云下载链接:​​​share.weiyun.com/5iE161Y​​

准备步骤

1. Anaconda Navigator

打开Anaconda Navigator,创建一个Python 3.6的运行环境



在 Anaconda Navigator中安装 对应的Python库
要 安装 gevent库、 xlwt库、 etree库、requests库
以下是安装库的方法。




安装成功

如果需要使用命令行进行安装
选择Open Terminal
安装方法:pip3 install 模块名

2. 安装chrome_Xpath_v2.0.2

打开谷歌浏览器 找到自定义及控制

选择扩展程序



安装完成

3. 使用chrome_Xpath_v2.0.2

使用F12,打开 谷歌浏览器 开发者工具


选择:Copy XPath

环境搭建

打开PyCharm







代码示例

#_*_coding:utf-8_*_
# @Author: VVcat
# @Time: 2019/9/27 18:54
# @File: Main.py
# @IDE: PyCharm
# @Email:
# @Version: 1.0

import gevent
import xlwt as xlwt
from lxml import etree
import requests


def school():
xls = xlwt.Workbook(encoding='utf-8') # 创建一个工作簿,括号中为编码方式

# 创建sheet表
# 括号中cell_overwrite_ok=True是为了可以让用户在同一单元格重复写内容,但只保留生效最后一次写入
sheet = xls.add_sheet("school", cell_overwrite_ok=True)
row = 0

for index in range(1, 330): # 页面有329页
if index == 1:
url = "www.zjitc.net/xwzx/xyxw.htm" # 第一页的链接
else:
url = "www.zjitc.net/xwzx/xyxw/" + str(index - 1) + ".htm" # 第一页之后的链接
req = requests.get(url) # 请求获取页面HTML代码
resp = req.content.decode("utf-8") # 设置页面编码格式为utf-8
html = etree.HTML(resp) # 构造了一个XPath解析对象并对HTML文本进行自动修正。
uls = html.xpath("/html/body/div[3]/div[8]/div[2]/div/ul/li/a/div[2]/div") # 对内容进行定位,获取所有的 内容存放在 list集合里
for ul in uls: # 对集合进行遍历
title = ul.xpath("h3") # 获取标题
url = str(title[0].xpath("../../../@href")[0]) # 获取新闻链接
url = url.replace("../..", "www.zjitc.net") # 对新闻链接进行分割拼接
day = ul.xpath("../../div[1]/i") # 获取天数
month = ul.xpath("../../div[1]/em") # 获取月份
sheet.write(row, 0, title[0].text) # 将标题写入excel
sheet.write(row, 1, month[0].text + day[0].text + "日") # 将日期写入excel
sheet.write(row, 2, url) # 将链接写入excel
row += 1
xls.save("school.xls") # 为excel文件命名

if __name__ == '__main__':
school = gevent.spawn(school) # 将函数放入到python协程中
school.join() # 开启协程

效果展示

Python爬虫如何抓取特定学校新闻的时间及链接?

标签:新闻标题