파충류 시작 지점, CSS를 해킹

# 개인은 원래 있으며, 소스를 표시하시기 바랍니다 : https://www.cnblogs.com/HugJun/p/11506270.html

수입 요청, 시간, 다시는, pprint
 에서 fontTools.ttLib의 수입 TTFont
 에서 IO가 가져 BytesIO 

데프 get_Font가 (URL) : 
    RESP = requests.get (URL) 
    글꼴 = TTFont (BytesIO (resp.content)) 
    web_font_relation = font.getBestCmap () 
    font.close () 
    반환 web_font_relation는 


데프 (URL)를 get_html_info : 
    헤더 = {
         ' 사용자 에이전트 ' : '사용자 에이전트 : 모질라 / 5.0 (윈도우 NT 6.1) AppleWebKit / 537.36 (게코 같은 KHTML) 크롬 / 63.0.3239.132 사파리 / 537.36 ' 
    } 
    html_data = requests.get (URL, 헤더 = 헤더) 
    url_ttf_pattern = re.compile ( ' <스타일> (. *?) \ s에 * </ 스타일> ' , re.S) 
    fonturl = re.findall (url_ttf_pattern, html_data.text) [0] 
    url_ttf = re.search ( ' WOFF. *? URL. * ?.? \ '(.? +) \'* 트루 ' , fonturl) .group (1 )
     인쇄 (url_ttf)
     반환 url_ttf, html_data.text 

데프 get_encode_font (데이터, web_font_relation) :
     """
    암호화 CSS 문자 원래 도면 대체 
    PARAM 데이터 : 배경 자료 
    : 복귀 : 
    "" " 
    python_font_relation = {
     ' 하나 ' :. 1 ,
     " TWO ' : 2 ,
     ' ' :. 3 ,
     ' ' :. 4 ,
     ' 다섯 ' :. (5) ,
     ' 여섯 ' :. 6 ,
     ' 세븐 ' :. 7 ,
     ' 여덟 ' :. (8) ,
     '아홉' : 9 ,
     ' 제로 ' 0,
     ' 기간 ' : ' . ' 
    } 
    

    에 대한 K, V web_font_relation.items () :
         만약 STR (K) 에서의 데이터 :
             잉크 (K, V) 
            fon_css = ' & # ' + STR (K) + ' ; " 
            데이터 = 의 re.sub (fon_css, STR (python_font_relation [V]), 데이터) 

    TOTAL_NUM = INT (플로트 ( '' .join (re.findall ( '<스팬 클래스 = ". +" >. (+) </ SPAN> </ 안에> <인용> 단어 ' , 데이터))) * 10000)   # 단어의 총 수 
    total_recommend = INT를 (플로트 ( ' ' .join (재. findall은 ( ' <스팬 클래스 =. "+">. (+) </ SPAN> </ EM> 만 총 추천 <안녕히 인용> ' )) * 10000), 데이터)   # 총 추천 
    week_recommend = INT (a 플로트 ( ''을 .join합니다 (re.findall ( ' <= 스팬 클래스입니다. "+"> (. +) </ SPAN> </ EM> 주 추천 <안녕히가 인용>가 ' , 데이터))) * 10000)   #의 주 권장 
    인쇄 (TOTAL_NUM, total_recommend, week_recommend) 


DEF 주 (URL) : 
    fan_info,데이터 = get_html_info (URL) 
    web_font_relation =get_Font가 (fan_info) 
    get_encode_font (데이터 web_font_relation) 

"" " 기본 항목 " "" 
IF  __name__ == ' __main__ ' : 
    URL은 = ' https://book.qidian.com/info/1115277 '   # 1 신규 선택 
    주를 (URL)

 

추천

출처www.cnblogs.com/HugJun/p/11506270.html