python 파충류 스마트 페이지 대량 다운로드 파일의 실례 상세 설명

python 파충류가 파일 내용을 찾을 때 한 페이지의 페이지를 넘기고 올라가야 하기 때문에 매우 번거롭다. 사실은 모든 목록 정보 아래의 파일 이름과 파일 링크를 가져와 파일 이름과 파일 링크를 목록으로 처리하고 저장한 후에 다운로드하여 스마트 페이지를 넘기고 대량으로 파일을 불러올 수 있다. 본고는 경객륭을 예로 삼아 파일을 대량으로 다운로드한다. 예를 들어 재무 자료와 같은 그의 모든 보고서는 pdf 형식의 문서이다.이 페이지를 목표로 분류된 파일마다python 파충류 실전의 스마트 페이지를 다운로드하여 대량으로 파일을 다운로드합니다.
1. 도입 라이브러리

import requests
import pandas as pd
from lxml import etree
import re
import os
2. 초기 페이지 확인

baseUrl ='http://www.jkl.com.cn/cn/invest.aspx' #  
heade ={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/81.0.4044.92 Safari/537.36'
}
res =requests.get(url=baseUrl,headers=heade).text  
# print(res.text)
html = etree.HTML(res)
res =requests.get(url=baseUrl,headers=heade).text  #     
# print(res.text)
html = etree.HTML(res)
3. 투자 관계의 분류 이름과 URL 주소 얻기

data_name = html.xpath('//div[@class="infoLis"]//a/text()') #  
data_link = html.xpath('//div[@class="infoLis"]//@href')  #  
name = [data_name.strip() for data_name in data_name]  #  for 
link = ['http://www.jkl.com.cn/cn/'+ data_link for data_link in data_link] #  
#  , 
file = dict(zip(name,link))
4, 각 목록 정보, 폴더 저장

for name,link in file.items():
  name=name.replace('/','.')
  name=name.replace('...',' ')
  #    
  path = 'E:/'+ name
  if not os.path.exists(path):
    os.mkdir(path)
    # 
5. 목록의 모든 항목 링크를 분석하여 마지막 페이지로 가져간다

  res_list = requests.get(url = link, headers = heade).text
  list_html = etree.HTML(res_list)
  # print(html_erJi)  
  weiYe = list_html.xpath('//a[text()=" "]/@href')
  # print(html_weiye)
  #  
  if weiYe !=[]:
    #  
    get_weiYe =re.search("(\d+)'\)",html_weiye[0])
    get_yeMa = get_html_weiYe.group(1)
  else:
    get_yeMa=1
  # print(get_html_yeMa)  
6. 각 목록 정보의 파일 이름과 파일 링크 가져오기

  for get_yeMa in range(1,int(get_yeMa)+1): #  
    yaMa= {
    '__EVENTTARGET': 'AspNetPager1',
    '__EVENTARGUMENT': get_yeMa
    }
    get_lei_html = requests.get(url = link, headers = heade, params = yaMa).text
    res3 =etree.HTML(get_lei_html)
    # print(res3)
    pdf_name = res3.xpath('//div[@class="newsLis"]//li/a/text()')
    # print(pdf_name)
    pdf_url = res3.xpath('//div[@class="newsLis"]//li//@href')
7. 파일 이름과 파일 링크를 목록으로 처리하고 저장 후 다운로드

 pdf_names = [pdf_name.strip() for pdf_name in pdf_name]
 # print(pdf_names)
 if all(pdf_url):
      pdf_urls = ['http://www.jkl.com.cn'+pdf_url for pdf_url in pdf_url]
      # print(pdf_url)
      pdf_data=dict(zip(pdf_names,pdf_urls))  # pdf 
      for pdfName,pdfUrl in pdf_data.items():
        pdfName =pdfName.replace('/','.')
        res_pdf= requests.get(url =pdfUrl,headers=heade).content
        houZui = pdfUrl.split('.')[-1]
        pdf_pash = path + '/' + pdfName + '.'+ houZui  # 
        # print(pdf_pash)
        with open(pdf_pash,'wb') as f:
          f.write(res_pdf)
          print(pdfName,' ')
이는python 파충류 스마트 페이지 대량 다운로드 파일의 실례에 대한 상세한 설명입니다. 더 많은python 파충류 실전의 스마트 페이지 대량 다운로드 파일 내용은 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기