1、爬新闻通知公告
from selenium import webdriver
import time
# 创建 Webwd 实例对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome(r'D:\tools-work\chromedriver_win32\chromedriver.exe')
wd.implicitly_wait(5)#等待时间 一定要写
# 链接地址
for x in range(1,2):
wd.get(f'http://www.ga.dl.gov.cn/index.php?app=jwzx&act=newslist&id=3&page{x}')#链接地址
# wd.get('http://www.ga.dl.gov.cn/index.php?app=jwzx&act=newslist&id=3&page1')
titles = wd.find_elements_by_xpath("/html/body/div[3]/div[3]/div/div[1]/ul/li/a")
# for x in titles:
# print(x.text)#打印有多少条标题数据
url = wd.find_elements_by_xpath('/html/body/div[3]/div[3]/div/div[1]/ul/li/a')
length=len(url)
for i in range(0, length): # 遍历列表的循环,使程序可以逐一点击
links = wd.find_elements_by_xpath("/html/body/div[3]/div[3]/div/div[1]/ul/li/a") # 在每次循环内都重新获取a标签,组成列表
link = links[i] # 逐一将列表里的a标签赋给link
url = link.get_attribute('href') # 提取a标签内的链接,注意这里提取出来的链接是字符串
wd.get(url) # 不能用click,因为click点击字符串没用,直接用浏览器打开网址即可
time.sleep(1) # 留出加载时间
#打印来源
souce = wd.find_element_by_xpath('/html/body/div[3]/div[3]/div/div[1]/div[2]/div[1]/div/span[1]').text#xpath找到来源
print(souce)#打印来源
# time.sleep(2)#留出加载时间
#打印文章内容 因为文章内容太长,所以 这边我给他写入到列表里
article = []#创建一个空列表
content = wd.find_element_by_xpath("//div[@class='artCon']")# xpath到文章内容
print(content.text)#这里可以打印一下内容
article.append(content.text.strip())#把文章插入到列表中
print(article)#打印新闻内容
# 将数据写入新文件
print("\n")
wd.back() # 后退,返回原始页面目录页
time.sleep(1) # 留出加载时间
print(length) # 打印列表长度,即有多少篇文章
wd.quit()#关闭列表
2、新闻公告演示视频