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中捕捉详细异常信息的代码示例
Sep 18 Python
python中sleep函数用法实例分析
Apr 29 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
May 25 Python
python+VTK环境搭建及第一个简单程序代码
Dec 13 Python
详解tensorflow训练自己的数据集实现CNN图像分类
Feb 07 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
Aug 02 Python
python读取文件名并改名字的实例
Jan 07 Python
使用Python进行体育竞技分析(预测球队成绩)
May 16 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
Aug 06 Python
python提取照片坐标信息的实例代码
Aug 14 Python
Python OpenCV实现测量图片物体宽度
May 27 Python
使用Python Tkinter实现剪刀石头布小游戏功能
Oct 23 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
德生PL330的评价与改造
2021/03/02 无线电
php上传文件的增强函数
2010/07/21 PHP
Parse正式发布开源PHP SDK
2014/08/11 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
详解php中的implements 使用
2017/06/13 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
python多线程编程中的join函数使用心得
2014/09/02 Python
Python实现从URL地址提取文件名的方法
2015/05/15 Python
Django 登陆验证码和中间件的实现
2018/08/17 Python
python使用rpc框架gRPC的方法
2018/08/24 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
CSS3不透明度实例讲解
2016/04/26 HTML / CSS
单位介绍信范文
2014/01/18 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
信用卡工资证明范本
2014/10/17 职场文书
谢师宴邀请函
2015/02/02 职场文书
学校国庆节活动总结
2015/03/23 职场文书
生产现场禁烟通知
2015/04/23 职场文书
高温慰问简报
2015/07/21 职场文书
Python实战之实现康威生命游戏
2021/04/26 Python