当前位置: 首页 > news >正文

定制网站建设宝安西乡摄影展板设计

定制网站建设宝安西乡,摄影展板设计,新会人才网,厦门百度竞价开户背景适用情况介绍 老的荣耀手机属于华为云系统#xff0c;家里人换了新荣耀手机属于荣耀云系统无法通过云空间将备忘录转移到新手机#xff0c;不想让他们一个一个搞#xff0c;于是整了一晚上想办法爬取下来。从网页抓取下来#xff0c;然后存到docx文档中#xff08;包…背景适用情况介绍 老的荣耀手机属于华为云系统家里人换了新荣耀手机属于荣耀云系统无法通过云空间将备忘录转移到新手机不想让他们一个一个搞于是整了一晚上想办法爬取下来。从网页抓取下来然后存到docx文档中包括文字和图片别的形式的内容请举一反三 多行图片多行文字sample 本方法Cons不能复制到荣耀云里因为捣了半天这荣耀云根本就没有除了手机之外可以访问的方法 续别人告诉我有荣耀云win客户端本来还想看看导入太抽象了竟然说 辣鸡 别的思路 手机内部自动化保存为文档后处理 华为手机备忘录批量导出txt╳ 全自动版 ╳By 免ROOT自动化助手 cons这个up是导出一条删除一条我不想删除它有for循环但是要付费付费倒不是啥别太贵就行毕竟人家做的工具但是一看还要注册登录 fiddler抓包方式抓所有笔记页面 华为手机备忘录批量导出文字和图片 cons看了一下需要手动一个一个点笔记不想动了 前置准备 首先确定老手机在设置的主账号登录进去或者注册是华为云让家里注册了一下然后打开同步把数据同步到云端登录华为云空间可以看到所有的备忘录点进去记录第一个备忘录的URL后面都要用需要chrome(查看版本右上角三个点-help-about)和版本匹配的chromedriver别的可以控制浏览器控件如firefox也可以我这样用 chromedriver.exe的目录需要加入环境变量pathcmd运行 chromedriver 可测试如果调用里自定义位置可以尝试path参数库接口已更新与文档不匹配python环境 代码步骤 in simulate 第一次扫码登录登录完毕python控制台任意enter继续自动保存cookies到cookies.json后续不用登录 手动浏览器f12分析元素可知中间一列是每页链接列表右边一列是点击后的笔记标题时间内容找到dom树下到达这个元素的路径可覆盖到元素然后右键复制path-xpath得到示例如下 对每个元素点击滑动到下一个必须滑动为了点击下一个做准备否则直接代码点击超出视窗的元素无法加载右侧笔记内容 相关知识链接 – selenium-python document – xPath examples 注意dom css中序数是从1开始 – 滑动界面外的元素问题 – 获取元素标签内容和属性值例子 根据xpath提取标题时间内容内容由分析可知是一个一个div行叠加的图文都是在行中所以内循环提取一行一行内容 内循环-图request无法下载控制浏览器下载从默认目录移动到当前/img下并加上jpg后缀因为看了一下上传只能传jpg下载时候看了一下都可以用jpg打开图文件名保存在列表中备用应该没有重复的 重新组成数据格式如下or whatever you want然后存到result.json – [title0, time0, [content0 line0 text, content0 line1 img name, …]] – [title1, …] in result_to_doc 很简单一行一行写入相关链接 – python-docx quick start 注意docx库实际要装的是python-docx如果import docx有错看装的对不对 project结构以及代码 simulate.py import json import os import shutil import timeimport requests as requests from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.by import Bydef login_and_save_to_cookies(driver, url):# driver webdriver.Chrome()driver.get(url)val input(Manually login now. Enter anything if finished)# time.sleep(20) # Let the user actually see something!cookies driver.get_cookies()# 转换成字符串保存json_cookie json.dumps(cookies)# 保存到txt文件with open(cookies.json, w) as f:f.write(json_cookie)print(cookies保存成功)def login_with_cookies(driver):with open(cookies.json,r,encodingutf8) as f:cookies json.loads(f.read())# 给浏览器添加cookiesfor cookie in cookies:driver.add_cookie(cookie)# 刷新网页cookies才会成功后面我们直接跳转就不用刷新了# driver.refresh()if __name__ __main__:driver webdriver.Chrome()# 笔记的第一页url后面需要用到url https://cloud.huawei.com/home#/notepad/note/allNote/note/xxxxxxxxxxxxxxxxxxxxxxx# 加载已有cookies之前至少得先访问一遍driver.get(url)time.sleep(5) # 需要等待加载完# 切换成中文language_button driver.find_element(By.XPATH,//*[idCloudlogin]/div[1]/div[1]/div[2]/a[1]/span[1])ActionChains(driver).click(language_button).perform() # single clickchinese_button driver.find_element(By.XPATH,//*[idscroller]/ul/li[65]/div)ActionChains(driver).click(chinese_button).perform() # single clicktime.sleep(5)val input(If using existing cookies, type n, manually login type anything else)if val ! n:login_and_save_to_cookies(driver, url)login_with_cookies(driver)time.sleep(5)driver.get(url)time.sleep(5)# driver.find_element(By.)note_center_items driver.find_elements(By.CLASS_NAME, note_item)note_titles []note_times []note_contents []chrome_download_directory C:\\Users\\xxxxxxxxxxxxxx\\Downloads\\ # 浏览器默认下载路径img_store_directory ./img/ # 都需要以/结尾以便后面拼接for note_center_item in note_center_items:# print(note_center_item.get_attribute(autokey))ac note_center_item# ActionChains(driver).scroll_to_element(ac).perform()ActionChains(driver).click(ac).perform() # single clickdriver.execute_script(arguments[0].scrollIntoView(true);, ac) # 必须滑动不然点击视窗外的元素无法加载右侧笔记内容time.sleep(5)title_element driver.find_element(By.XPATH,//*[idnote_title_editor]/div/div[6]/div[1]/div/div/div/div[5]/pre/span)time_element driver.find_element(By.XPATH,//*[idapp]/div[6]/div[3]/div/div[1]/div[4]/div[2]/div/span[1])content_multiline_container_element driver.find_element(By.XPATH,//*[idnote_detail_editor]/div/div[6]/div[1]/div/div/div/div[5])content_singleline_containers content_multiline_container_element.find_elements(By.XPATH, ./div)note_content []for i in range(len(content_singleline_containers)):content_singleline_container content_singleline_containers[i]try:# is an imageimg_element content_singleline_container.find_element(By.XPATH, ./div/div/img)img_src img_element.get_attribute(src)# 用浏览器下载这里request好像不行driver.get(img_src)# cur_img requests.get(img_src)# note_content.append(cur_img)# 等待下载完time.sleep(3)# 转移,加jpg后缀因为这里都是jpg格式downloaded_file_name img_src.split(/)[-1]shutil.move(chrome_download_directory downloaded_file_name, img_store_directory)os.rename(img_store_directory downloaded_file_name, img_store_directory downloaded_file_name .jpg)note_content.append(downloaded_file_name .jpg) # 标记位置except:# is textnote_content.append(content_singleline_container.text) # 可以直接获取最里面的值, 也可以通过./pre/span/span获取最里面的元素再获取text# 如果全是文字可以直接合并成段落# if i len(content_singleline_containers) - 1:# note_content \nnote_title title_element.textnote_time time_element.textnote_titles.append(note_title)note_times.append(note_time)note_contents.append(note_content)print(note_title)print(note_time)print(note_content)print(len(note_titles), len(note_times), len(note_contents))result []for i in range(len(note_titles)):result.append([note_titles[i], note_times[i], note_contents[i]])with open(result.json, w) as f:json.dump(result, f)# f open(result.txt, w)# for i in range(len(note_times)):# f.write(note_times[i])# f.write(note_contents[i])# f.write(\n)# f.close()# time.sleep(20) result_to_doc.py import jsonfrom docx import Document from docx.shared import Inchesdocument Document()with open(result.json, r) as f:data_json json.load(f)img_store_directory ./img/ for note_title, note_time, note_content in data_json:if len(note_title) 0:# 这里很多都是空标题所以如果空就不写入document.add_paragraph(note_title)document.add_paragraph(note_time)for note_content_line in note_content:if note_content_line.split(.)[-1] jpg:# is an imagedocument.add_picture(img_store_directory note_content_line, widthInches(5))else:document.add_paragraph(note_content_line)document.add_paragraph(\n)document.save(备忘录.docx)
http://www.hkea.cn/news/14432937/

相关文章:

  • 专业做网站较好的公司广州中国现货交易网
  • 白银做网站四川省城乡建设信息网站证件查询
  • 河南电商网站设计南浔建设局网站
  • 网站推广与优化怎么做wordpress 根据id获取分类名称
  • 建立网站的费用阿里巴巴自助建站的一般流程
  • 网站建设一般多少钱有网站建设费科目吗
  • 推荐网站建设收费标准龙华网站建设推广外包
  • 用v9做网站优化深圳微商城网站设计
  • 什么是网站建设公司交互网站设计
  • 西安国际网站设计做暖暖视频网站大全
  • 做发帖的网站代码传奇电脑版
  • 福州网站制作网站项目网项目平台
  • 网上帮人做网站微博网页版入口
  • 网站被降权怎么办wordpress 搜索调用
  • 做一个人网站需要注意什么网站的代理页面怎么做
  • 网站上传的视频播放卡个人做网站开工作室
  • 企业站官网wordpress 织梦 淘客
  • 山东省建设厅举报网站桂林公司做网站
  • 网页设计与网站建设在线作业网站开发 外包公司
  • 广东专业高端网站建设杭州优化seo公司
  • 做代理记账网站网站开发推荐英文字体
  • 二 加强门户网站建设网站被k了怎么办
  • 手机膜+东莞网站建设做一个网站成本多少钱
  • 做照片的网站山西网站建设开发
  • 合肥蜀山网站开发2024年新闻热点事件摘抄
  • 酒类网站建设网络营销中的seo与sem
  • 两学一做网上答题网站wordpress小程序直播
  • 公司免费招聘网站网站分析百度
  • 个人网站什么语言做wordpress插件没有设置
  • 怎么塔建网站网站建设吉金手指排名13