• 大小: 5KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-05-25
  • 语言: Python
  • 标签: Python  爬虫  

资源简介

Python爬虫的代码示例,包括表单提交、爬取子网页等等

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
“““
@author: Administrator
“““

import urllib
import requests
import re
import pandas as pd 
import numpy as np
import ssl
import warnings
warnings.filterwarnings(“ignore“)

base_url = ‘https://umbraco.tv‘





    
if __name__==‘__main__‘:    
    #第一步:完成登录
    url = ‘https://umbraco.tv/login/‘
    resp = requests.get(url verify=False allow_redirects=False)
    headers = {
     ‘Content-type‘:‘application/x-www-form-urlencoded‘
          ‘Cookie‘:resp.headers[‘set-cookie‘]
     }
    formdata=resp.content
    #从formdata中提取两个变量的值__RequestVerificationTokenufprt并把值放到postdata里
    reqToken = re.findall(r‘‘formdatare.S|re.M)[0]
    ufprt = re.findall(r‘‘formdatare.S|re.M)[0]
    
    data = { ‘__RequestVerificationToken‘:reqToken
             ‘Username‘:‘haierol@qq.com‘
             ‘Password‘:‘EEjnMYL3‘
             ‘ReturnUrl‘:‘‘
             ‘ufprt‘:ufprt             
             }
    
    #这里才是真正的登陆过程,data里面是抓包获取的账号密码及其他信息。
    resp = requests.post(url urllib.urlencode(data)
     headers=headers
     verify=False
     allow_redirects=False)  
    
    
    headers = {‘Cookie‘:resp.headers[‘set-cookie‘]}
    
    url1=‘https://umbraco.tv/videos/umbraco-v7/developer/fundamentals/api-controllers/introduction/‘
    
    resp1 = requests.get(url1headers=headersverify=Falseallow_redirects=False)
    t=resp1.content #这时应该可以取到这个需要登录的页面里的mp4信息了 
    
    
    #第二步:爬所有链接的子网页    
    mp4_list = []    
    access_list = []
    
    #爬5层
    index_url = ‘https://umbraco.tv/videos/‘        
    i_linklist = [re.findall(r‘ href=“(.{1100}?)“‘urllib.urlopen(index_url).read()re.S|re.M)]
    i = 0
    
    all_links = []
    
    while i<10:
        l = i_linklist[i]    #第i层所有link
        new_l = []
        for link in l: 
            if link.startswith(‘href=‘):
                link = link[6:-1]
            #过滤.png .css ...
            if not ((‘http://‘ in link) or (‘https://‘ in link) or (‘.png‘ in link) or (‘.css‘ in link) or (‘.js‘ in link) or (‘.ico‘  in link)):
                print (link)                
                if base_url + link 

评论

共有 条评论