python抓取需要扫微信登陆页面


Posted in Python onApril 29, 2019

  一,抓取情况描述

1.抓取的页面需要登陆,以公司网页为例,登陆网址https://app-ticketsys.hezongyun.com/index.php ,(该网页登陆方式微信扫码登陆)

2.需要抓取的内容如下图所示:

需要提取

工单对应编号,如TK-2960

工单发起时间,如2018-08-17 11:12:13

工单标题内容,如设备故障

工单正文内容,如最红框所示

python抓取需要扫微信登陆页面

二,网页分析

1.按按Ctrl + Shift + I或者鼠标右键点击检查进入开发人员工具。

可以看到页面显示如下:

python抓取需要扫微信登陆页面

主要关注点如上图框住和划线处

首先点击网络,记住以下信息将用于代码修改处。

Resquest URL:https: //app-ticketsys.hezongyun.com/index.php/ticket/ticket_list/init这个是需要爬取页面的信息请求Menthod:GET饼干:用于需要登陆页面User-Agent:Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,类似Gecko)Chrome / 67.0.3396.62 Safari / 537.36

记住以上信息后粗略了解网页树形结构用BeatifulSoup中SELEC怎么取出内容

示例:的H1M1一段代码如下:

html =“”“
<html> <head> <title>睡鼠的故事</ title> </ head>
<body>
<p class =”title“name =”dromouse“> <b>睡鼠的故事</ b > </ p>
<p class =“story”>从前有三个小姐妹;他们的名字是
<a href =“http://example.com/elsie”class =“sister”id =“ link1“> <! - Elsie - > </a>,
<a href="http://example.com/lacie" rel="external nofollow" class="sister" id="link2"> Lacie </a>和
<a href =“http://example.com/tillie”class =“sister”id =“link3”> Tillie </a>;
他们住在井底。</ p>
<p class =“story”> ... </ p>
“”“

如果我们喝汤得到了上面那段HTML的结构提取内容方法如下

1.通过标签名查找soup.select( '标题'),如需要取出含有一个标签的内容则soup.select( 'a')的

2.通过类名查找soup.select( 'CLASS_NAME ')如取出标题的内容则soup.select('。标题')

3.通过ID名字查找soup.select( '#ID_NAME')如取出ID = LINK2的内容则soup.select( '#LINK2')

上述元素名字可以利用左上角箭头取出,如下图

python抓取需要扫微信登陆页面

三,程序编写

# -*- coding:utf-8 -*-
import requests
import sys
import io
from bs4 import BeautifulSoup
import sys
import xlwt
import urllib,urllib2
import re
def get_text():
  #登录后才能访问的网页,这个就是我们在network里查看到的Request URL
  url = 'https://app-ticketsys.hezongyun.com/index.php/ticket/ticket_iframe/'
  #浏览器登录后得到的cookie,这个就是我们在network里查看到的Coockie
  cookie_str = r'ci_ticketsys_session=‘***********************************'
  #把cookie字符串处理成字典
  cookies = {}
  for line in cookie_str.split(';'):
    key, value = line.split('=', 1)
    cookies[key] = value
  #设置请求头
  headers = {'User-Agent':'Mozilla/5.0(Windows NT 10.0; Win64;x64)AppleWebKit/537.36 (KHTML, like Gecko)Chrome/67.0.3396.62 Safari/537.36'}
  #在发送get请求时带上请求头和cookies
  resp = requests.get(url, cookies = cookies,headers = headers)
  soup = BeautifulSoup(resp.text,"html.parser")
  print soup

上述代码就能得到登陆网页的HTML源码,这个源码呈一个树形结构,接下来针对需求我们提取需要的内容进行提取

我们需要工单号,对应时间,对应标题

python抓取需要扫微信登陆页面

按箭头点击到对应工单大块,可以查询到,所有的工单号,工单发起时间,工单标题均在<ul id =“ticket-list”>这个id下面

python抓取需要扫微信登陆页面

那么点开一个工单结构,例如工单号ID = “4427” 下面我们需要知道工单号,工单发起时间,工单内容可以看到

1.工单内容在H3标签下面

2.工单编号在类=“NUM”下面

3.工单发起时间在类= “时间” 下面

for soups in soup.select('#ticket-list'):
  if len(soups.select('h3'))>0:
    id_num = soups.select('.num')
    star_time = soups.select('.time')
    h3 = soups.select('h3')
    print id_num,start_time,h3

总结

以上所述是小编给大家介绍的python抓取需要扫微信登陆页面,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python实现获取客户机上指定文件并传输到服务器的方法
Mar 16 Python
Python判断变量是否为Json格式的字符串示例
May 03 Python
使用Python对Csv文件操作实例代码
May 12 Python
Django数据库操作的实例(增删改查)
Sep 04 Python
python tensorflow学习之识别单张图片的实现的示例
Feb 09 Python
Python日志模块logging基本用法分析
Aug 23 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
Sep 13 Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 Python
Python 读取用户指令和格式化打印实现解析
Sep 02 Python
python实现异常信息堆栈输出到日志文件
Dec 26 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
Aug 20 Python
python操作xlsx格式文件并读取
Jun 02 Python
python基于itchat模块实现微信防撤回
Apr 29 #Python
手把手教你使用Python创建微信机器人
Apr 29 #Python
python实现微信防撤回神器
Apr 29 #Python
python实现文件助手中查看微信撤回消息
Apr 29 #Python
Python实现微信消息防撤回功能的实例代码
Apr 29 #Python
python控制nao机器人身体动作实例详解
Apr 29 #Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 #Python
You might like
PHP中的output_buffering详细介绍
2014/09/27 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
2017/02/15 PHP
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
js编写选项卡效果
2017/05/23 Javascript
移动设备手势事件库Touch.js使用详解
2017/08/18 Javascript
详解使用webpack构建多页面应用
2017/12/21 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
python并发2之使用asyncio处理并发
2017/12/21 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
安装完Python包然后找不到模块的解决步骤
2020/02/13 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
基于keras中的回调函数用法说明
2020/06/17 Python
python爬取天气数据的实例详解
2020/11/20 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
高校自主招生自荐信
2013/12/09 职场文书
销售内勤岗位职责
2014/04/15 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
项目负责人任命书
2014/06/04 职场文书
小学生植树节活动总结
2014/07/04 职场文书
共青团员自我评价范文
2014/09/14 职场文书
普通党员整改措施
2014/10/24 职场文书
长江七号观后感
2015/06/11 职场文书
2015双创工作总结
2015/07/24 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书