溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python如何抓取需要掃微信登陸頁面

發(fā)布時間:2021-07-26 11:40:38 來源:億速云 閱讀:349 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下python如何抓取需要掃微信登陸頁面,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

 一,抓取情況描述

1.抓取的頁面需要登陸,以公司網(wǎng)頁為例,登陸網(wǎng)址https://app-ticketsys.hezongyun.com/index.php ,(該網(wǎng)頁登陸方式微信掃碼登陸)

2.需要抓取的內(nèi)容如下圖所示:

需要提取

工單對應(yīng)編號,如TK-2960

工單發(fā)起時間,如2018-08-17 11:12:13

工單標(biāo)題內(nèi)容,如設(shè)備故障

工單正文內(nèi)容,如最紅框所示

python如何抓取需要掃微信登陸頁面

二,網(wǎng)頁分析

1.按按Ctrl + Shift + I或者鼠標(biāo)右鍵點擊檢查進入開發(fā)人員工具。

可以看到頁面顯示如下:

python如何抓取需要掃微信登陸頁面

主要關(guān)注點如上圖框住和劃線處

首先點擊網(wǎng)絡(luò),記住以下信息將用于代碼修改處。

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

記住以上信息后粗略了解網(wǎng)頁樹形結(jié)構(gòu)用BeatifulSoup中SELEC怎么取出內(nèi)容

示例:的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 =“l(fā)ink3”> Tillie </a>;
他們住在井底。</ p>
<p class =“story”> ... </ p>
“”“

如果我們喝湯得到了上面那段HTML的結(jié)構(gòu)提取內(nèi)容方法如下

1.通過標(biāo)簽名查找soup.select( '標(biāo)題'),如需要取出含有一個標(biāo)簽的內(nèi)容則soup.select( 'a')的

2.通過類名查找soup.select( 'CLASS_NAME ')如取出標(biāo)題的內(nèi)容則soup.select('。標(biāo)題')

3.通過ID名字查找soup.select( '#ID_NAME')如取出ID = LINK2的內(nèi)容則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():
  #登錄后才能訪問的網(wǎng)頁,這個就是我們在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
  #設(shè)置請求頭
  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'}
  #在發(fā)送get請求時帶上請求頭和cookies
  resp = requests.get(url, cookies = cookies,headers = headers)
  soup = BeautifulSoup(resp.text,"html.parser")
  print soup

上述代碼就能得到登陸網(wǎng)頁的HTML源碼,這個源碼呈一個樹形結(jié)構(gòu),接下來針對需求我們提取需要的內(nèi)容進行提取

我們需要工單號,對應(yīng)時間,對應(yīng)標(biāo)題

python如何抓取需要掃微信登陸頁面

按箭頭點擊到對應(yīng)工單大塊,可以查詢到,所有的工單號,工單發(fā)起時間,工單標(biāo)題均在<ul id =“ticket-list”>這個id下面

python如何抓取需要掃微信登陸頁面

那么點開一個工單結(jié)構(gòu),例如工單號ID = “4427” 下面我們需要知道工單號,工單發(fā)起時間,工單內(nèi)容可以看到

1.工單內(nèi)容在H3標(biāo)簽下面

2.工單編號在類=“NUM”下面

3.工單發(fā)起時間在類= “時間” 下面

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

以上是“python如何抓取需要掃微信登陸頁面”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI