Selenium爬虫

import re
import requests# 伪装头部,反爬
headers = {'Host': 'm.weibo.cn','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36','X-Requested-With': 'XMLHttpRequest'
}
# 目标微博用户地址
url = "https://m.weibo.cn/api/container/getIndex?type=uid&value=1182391231&containerid=1076031182391231"
response = requests.get(url, headers=headers)
# 返回response为json格式
weibo_data = response.json()
for mblog_data in weibo_data['data']['cards']:try:# 获取微博文本内容content_data = mblog_data['mblog']['text']# 过滤特殊符号p = re.compile(r'(<span.*>.*</span>)*(<a.*>.*</ a>)?')content_data = re.sub('[^\u4e00-\u9fa5]', '', content_data)content_data = p.sub(r'', content_data)# 获取微博发布时间time_data = mblog_data['mblog']['created_at']print(content_data)print(time_data)except:pass

import time
from selenium import webdriver
import csv# 声明浏览器对象,使用Chromedriver
option = webdriver.ChromeOptions()
# “有头”模式,即可以看到浏览器界面,若要隐藏浏览器,可设置为 "headless"
option.add_argument('head')
# 得到操作对象
driver = webdriver.Chrome(options=option)
# 模拟浏览器打开教育部官网信息检索页
driver.get('https://hudong.moe.gov.cn/sousuo/web/search?channelid=244081')# 找到搜索栏文字输入框,输入搜索关键字
driver.find_element_by_id('searchword').send_keys("立德树人")
# 找到“搜索”按钮,模拟点击
driver.find_element_by_id('wasSubmit').click()
# 停顿3秒,留足页面加载时间
time.sleep(3)# 创建/打开一个csv文件
f = open('立德树人.csv', 'w', encoding='utf-8', newline='')
# 基于文件对象构建csv写入对象
csv_writer = csv.writer(f)
# 构建csv列表头
csv_writer.writerow(["标题", "发布时间"])# 第一次for循环,共有330页数据
for page in range(330):# 第二次for循环,每页共有20条信息for i in range(20):# i的输出值是0到19,记得加1num = str(i + 1)# 用xpath获取每一篇文章标题、发布时间title = driver.find_element_by_xpath('/html/body/div[1]/div/div[6]/div[2]/div[4]/dl[ ' + num + ' ]/dt/h2/a').textdate = driver.find_element_by_xpath('/html/body/div[1]/div/div[6]/div[2]/div[4]/dl[' + num + ']/dd[2]').text# 将数据写入到csv文件中csv_writer.writerow([title, date])# 显示数据print(title)print(date)# 提示爬取进度print("---------第" + str(page+1) + "页爬取完毕---------")# 找到“下一页”按钮,模拟点击driver.find_element_by_xpath('/html/body/div[1]/div/div[6]/div[2]/div[5]/div/ul/li[7]/a').click()
# 关闭csv文件
f.close()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android官方开发文档Training系列课程中文版:管理Activity的生命周期之暂停和恢复Activity

原文地址 : http://android.xsoftlab.net/training/basics/activity-lifecycle/pausing.html 在APP的正常使用过程中&#xff0c;在前台工作的Activity有时可能会被其他的可视化组件挡住&#xff0c;而引起Activity进入Paused状态。举个例子&#xff0c;当一个半透明的Activit…

Leaf:美团分布式ID生成服务开源

Leaf是美团基础研发平台推出的一个分布式ID生成服务&#xff0c;名字取自德国哲学家、数学家莱布尼茨的一句话&#xff1a;“There are no two identical leaves in the world.”Leaf具备高可靠、低延迟、全局唯一等特点。目前已经广泛应用于美团金融、美团外卖、美团酒旅等多个…

LeetCode 658. 找到 K 个最接近的元素(二分查找)

1. 题目 给定一个排序好的数组&#xff0c;两个整数 k 和 x&#xff0c;从数组中找到最靠近 x&#xff08;两数之差最小&#xff09;的 k 个数。返回的结果必须要是按升序排好的。如果有两个数与 x 的差值一样&#xff0c;优先选择数值较小的那个数。 示例 1:输入: [1,2,3,4,…

负数的开方到底等于多少?

文&#xff1a;杨树森知乎编&#xff1a;小鹿鹿lulu负数的开方到底等于多少?举个栗子拿出小本本, 一通变换,得到:Really? 且看下面详解乘方来源于乘法&#xff0c;我们可以归纳地定义&#xff0c;设 是一个域&#xff0c;, 则上述的域 可以是有理数域 , 实数域, 或复数域 前两…

综述 | 知识图谱实体链接:一份“由浅入深”的综述

本文转载自公众号&#xff1a;PaperWeekly。 作者丨Nicolas单位丨追一科技 AI Lab 研究员研究方向丨信息抽取、机器阅读理解本文介绍实体链接&#xff08;Entity Linking&#xff09;这一技术方向&#xff0…

Android官方开发文档Training系列课程中文版:管理Activity的生命周期之停止和重启Activity

原文地址 : http://android.xsoftlab.net/training/basics/activity-lifecycle/stopping.html#Start 在activity的生命周期内&#xff0c;适当的停止和重新启动activity是一个非常重要的过程&#xff0c;它可以确保用户能感觉到APP一直是存活状态&#xff0c;并且不会丢失他们…

selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’解决

selenium.common.exceptions.WebDriverException: Message: chromedriver’解决&#xff1a; https://blog.csdn.net/weixin_44318830/article/details/103339273 今天在做selenium测试的时候,可能是很久没用了,直接报了这个异常! 相信很多第一次学习selenium的同学们也对这个异…

活动 Web 页面人机识别验证的探索与实践

在电商行业&#xff0c;线上的营销活动特别多。在移动互联网时代&#xff0c;一般为了活动的快速上线和内容的即时更新&#xff0c;大部分的业务场景仍然通过 Web 页面来承载。但由于 Web 页面天生“环境透明”&#xff0c;相较于移动客户端页面在安全性上存在更大的挑战。本文…

利用python提取网站曲线图数据

文章目录数据1数据2数据1 数据目标&#xff1a;曲线图 F12&#xff0c;如图位置输入JSON.stringify(dataSeries.dataPoints) copy&#xff0c;粘贴到data.txt 数据是一个列表&#xff0c;里面是多个字典 编写程序如下&#xff1a; import json as js datafile data1.txt…

论文浅尝 | HEAD-QA: 一个面向复杂推理的医疗保健数据集

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为知识库问答。来源&#xff1a;ACL2019本文构建了一个面向复杂推理任务的多选问答数据集 HEAD-QA&#xff0c;该数据集中的问题来自一个西班牙的医疗保健专业测试&#xff0c;对于具备该方向专业…

Poor Man's BERT: 更小更快的Transformer模型

文 | sliderSun源 | 知乎NLP模型的大小不断增加&#xff0c;随之而来的是可用性降低&#xff0c;TinyBERT&#xff0c;MobileBERT&#xff0c;和DistilBERT都提出了一个独特的知识蒸馏框架&#xff0c;其共同目标是在保持性能的同时减小模型大小。尽管所有这些方法都以各自的方…

LeetCode 429. N叉树的层序遍历(queue)

1. 题目 返回其层序遍历:[[1],[3,2,4],[5,6] ]2. 解题 queue队列解题 /* // Definition for a Node. class Node { public:int val;vector<Node*> children;Node() {}Node(int _val, vector<Node*> _children) {val _val;children _children;} }; */ class Solu…

基于Flask+Nginx+uWSGI实现CentOS服务端模型部署及预加载

基于FlaskNginxuWSGI实现CentOS服务端模型部署及预加载http://www.manongjc.com/article/37802.html

Android官方开发文档Training系列课程中文版:管理Activity的生命周期之Activity的重建

原文地址&#xff1a;http://android.xsoftlab.net/training/basics/activity-lifecycle/recreating.html#RestoreState 有这么几个关于activity通过正常渠道销毁的场景&#xff0c;比如用户按下了返回按钮&#xff0c;又或者是在activity中调用了终止信号finish。系统可能也会…

Java动态追踪技术探究

引子 在遥远的希艾斯星球爪哇国塞沃城中&#xff0c;两名年轻的程序员正在为一件事情苦恼&#xff0c;程序出问题了&#xff0c;一时看不出问题出在哪里&#xff0c;于是有了以下对话&#xff1a; “Debug一下吧。” “线上机器&#xff0c;没开Debug端口。” “看日志&#xf…

论文浅尝 | 从树结构的长短期记忆网络改进语义表示

论文笔记整理&#xff1a;窦春柳&#xff0c;天津大学硕士&#xff0c;方向&#xff1a;自然语言处理链接&#xff1a;https://arxiv.org/pdf/1503.00075.pdf动机由于长短期记忆网络&#xff08;LSTM&#xff09;这种具有复杂单元的循环神经网络具有良好的表示序列信息的能力&a…

详解NLP技术中的:预训练模型、图神经网络、模型压缩、知识图谱

NLP近几年非常火&#xff0c;且发展特别快。像BERT、GPT-3、图神经网络、知识图谱等技术应运而生。我们正处在信息爆炸的时代、面对每天铺天盖地的网络资源和论文、很多时候我们面临的问题并不是缺资源&#xff0c;而是找准资源并高效学习。但很多时候你会发现&#xff0c;花费…

Android官方开发文档Training系列课程中文版:使用Fragment构建动态UI之Fragment创建

原文地址&#xff1a;http://android.xsoftlab.net/training/basics/fragments/index.html 导言 为了在Android中创建动态的多面板用户界面&#xff0c;你需要将UI组件和活动的行为封装到模块中&#xff0c;这些模块可以在activity中互相交换。你可以使用类Fragment创建这些模…

基于深度学习的信息抽取技术

DeepIE: Deep Learning for Information Extraction DeepIE&#xff1a; 基于深度学习的信息抽取技术&#xff08;预计2020年8月31日前全部更新完毕&#xff09; TOP 知乎专栏文章&#xff1a;nlp中的实体关系抽取方法总结知乎专栏文章&#xff1a;如何有效提升中文NER性能&…

根因分析初探:一种报警聚类算法在业务系统的落地实施

背景 众所周知&#xff0c;日志是记录应用程序运行状态的一种重要工具&#xff0c;在业务服务中&#xff0c;日志更是十分重要。通常情况下&#xff0c;日志主要是记录关键执行点、程序执行错误时的现场信息等。系统出现故障时&#xff0c;运维人员一般先查看错误日志&#xff…