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操作列表之List.insert()方法的使用
May 20 Python
Python写入CSV文件的方法
Jul 08 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 Python
python中os模块详解
Oct 14 Python
python 文件操作删除某行的实例
Sep 04 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
Sep 08 Python
Python实现的redis分布式锁功能示例
May 29 Python
python for循环输入一个矩阵的实例
Nov 14 Python
六行python代码的爱心曲线详解
May 17 Python
Python爬虫:url中带字典列表参数的编码转换方法
Aug 21 Python
python单向链表实例详解
May 25 Python
python playwrigh框架入门安装使用
Jul 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
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
PHP $_FILES中error返回值详解
2014/01/30 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
jquery 图片上传按比例预览插件集合
2011/05/28 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
Python中DJANGO简单测试实例
2015/05/11 Python
Python获取央视节目单的实现代码
2015/07/25 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
2018/10/14 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
2020/03/09 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
Python加速程序运行的方法
2020/07/29 Python
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
巴西男士个人护理产品商店:SHOP4MEN
2017/08/07 全球购物
荷兰电脑专场:Paradigit
2018/05/05 全球购物
英国大码女性时装零售商:Evans
2018/08/29 全球购物
珍爱生命演讲稿
2014/05/10 职场文书
新闻通讯稿范文
2015/07/22 职场文书
高三数学教学反思
2016/02/18 职场文书
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
python如何查找列表中元素的位置
2022/05/30 Python
 python中的元类metaclass详情
2022/05/30 Python