스크랩 한 문서를 두 장의 Excel 파일로 저장

SIM

웹 페이지에서 일부 문서를 구문 분석하여 두 장의 시트를 만드는 Excel 파일에 저장하는 스크레이퍼를 만들었습니다. 하지만 실행하면 마지막 링크의 문서 만 한 장에 저장하는 반면 두 링크의 문서가있는 두 장의 시트가 제대로 있어야한다는 것을 알 수 있습니다. 심지어 배경에서 무슨 일이 일어나고 있는지 확인하기 위해 결과를 인쇄했지만 잘못된 것은 없습니다. 첫 번째 시트는 덮어 쓰기되고 두 번째 시트는 생성되지 않습니다. 이 문제를 해결하여 데이터가 Excel 파일의 두 장에 저장되도록하는 방법. 조사해 주셔서 미리 감사드립니다.

내 코드는 다음과 같습니다.

import requests
from lxml import html
from pyexcel_ods3 import save_data

name_list = ['Altronix','APC']

def docs_parser(link, name):   
    res = requests.get(link)
    root = html.fromstring(res.text)
    vault = {}
    for post in root.cssselect(".SubBrandList a"):
        if post.text == name:
            refining_docs(post.attrib['href'], vault)

def refining_docs(new_link, vault):
    res = requests.get(new_link).text
    root = html.fromstring(res)  
    sheet = root.cssselect("#BrandContent h2")[0].text   
    for elem in root.cssselect(".ProductDetails"):
        name_url = elem.cssselect("a[class]")[0].attrib['href']
        vault.setdefault(sheet, []).append([str(name_url)])
        save_data("docs.ods", vault)

if __name__ == '__main__':
    for name in name_list:
        docs_parser("http://store.immediasys.com/brands/" , name)

그러나 다른 사이트에 대한 코드를 작성할 때와 같은 방식으로 다른 시트를 만들고 그 안에 문서를 저장한다는 기대를 충족시킵니다. 링크는 다음과 같습니다 : https://www.dropbox.com/s/bgyh1xxhew8hcvm/Pyexcel_so.txt?dl=0

stovfl

질문 : 첫 번째 시트는 덮어 쓰기되고 두 번째 시트는 생성되지 않습니다. 이 문제를 해결하여 데이터가 Excel 파일의 두 장에 저장되도록하는 방법.

추가되는 모든 링크 에서 통합 문서 파일을 덮어 씁니다 . 루프 내에서 호출
해서는 안되며 스크립트 끝에서 한 번만 호출 하면 됩니다.save_data(...

두 스크립트를 비교하면 차이 없으며 둘 다 동일하게 작동하며 통합 문서 파일을 반복해서 덮어 씁니다. 짧은 시간 내에 통합 문서 파일을 160이상 덮어 쓰면 파일 IO가 과부하 될 수 있습니다 .

첫 번째 스크립트는 13 개의 시트를 만들어야합니다 .

data sheet:powerpivot-etc links:20
data sheet:flappy-owl-videos links:1
data sheet:reporting-services-videos links:20
data sheet:csharp links:14
data sheet:excel-videos links:9
data sheet:excel-vba-videos links:20
data sheet:sql-server-videos links:9
data sheet:report-builder-2016-videos links:4
data sheet:ssrs-2016-videos links:5
data sheet:sql-videos links:20
data sheet:integration-services links:19
data sheet:excel-vba-user-form links:20
data sheet:archived-videos links:16

두 번째 스크립트는 2 개의 시트를 만들어야합니다 .

vault sheet:Altronix links:16
vault sheet:APC links:16

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

스크랩한 데이터를 파일에 저장

Excel VBA 매크로를 사용하여 동일한 파일에서 특정 영역의 스크린 샷 캡처 + 저장

Excel에서 원본 파일과 동일한 파일 이름 및 동일한 위치를 가진 .txt 파일로 저장할 매크로

여러 >> 두 개의 스크립트에 의해 동일한 파일로 리디렉션, 문장 중간 중단

스크랩한 값을 CSV 파일에 저장

Excel의 다른 세션에 통합 문서를 저장하는 Excel 매크로

git 저장소를 두 개의 다른 코드베이스로 두 개의 별도 저장소로 포크

Excel 시트를 JSON 파일로 저장

Xpages,보기를 Excel 파일로 저장

한계를 두 변수로 저장

응답 문서를 저장 한 후에 만 문서와 응답을 모두 데이터베이스에 저장

동일한 git 저장소에서 두 파일의 기록 병합

Excel 통합 문서의 별도 워크 시트를 PDF로 저장

스크랩한 웹 링크를 배열에 저장

Excel 통합 문서의 모든 워크 시트를 하나의 텍스트 파일로 저장하는 방법은 무엇입니까?

매크로없이 Excel 통합 문서의 복사본 저장

웹 스크랩 결과를 이름별로 txt 파일에 저장

매크로 사용 Excel 파일에서 자동 저장된 파일 오류

VBA Excel에서 Excel 매크로로 만든 폴더에 파일 저장

Junit을 사용한 단위 테스트에서 저장된 파일의 경로

mongodb에서 동일한 데이터베이스의 두 가지 다른 컬렉션에 하나의 문서를 저장하는 방법

HDFS를 사용하여 다양한 크기의 파일 저장

Docker에서 동일한 영구 저장소를 사용하는 두 개의 mariadb 인스턴스

==> CSV로 저장할 때 Excel의 이상한 문제

여러 웹 사이트 페이지에서 스크랩 한 결과를 CSV 파일로 저장하는 방법은 무엇입니까?

매크로를 사용하여 셀의 파일 이름으로 Excel 워크 시트를 CSV로 저장

매크로를 사용하여 셀의 파일 이름으로 Excel 워크 시트를 CSV로 저장

데스크탑에서만 페이지를 다시로드 한 후 부트 스트랩 4 축소 저장

postgresql의 한 파일에서 다른 파일로 저장 프로 시저 호출

TOP 리스트

  1. 1

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  2. 2

    상황에 맞는 메뉴 색상

  3. 3

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  4. 4

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  5. 5

    std :: regex의 일관성없는 동작

  6. 6

    Ionic 2 로더가 적시에 표시되지 않음

  7. 7

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  8. 8

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  9. 9

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  10. 10

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  11. 11

    SQL Server-현명한 데이터 문제 받기

  12. 12

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  13. 13

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  14. 14

    내 페이지 번호의 서식을 어떻게 지정합니까?

  15. 15

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  16. 16

    Quickly 프로그램과 함께 작동하도록 Eclipse를 어떻게 설정할 수 있습니까?

  17. 17

    인코더없이 Azure 미디어 서비스 비디오 트림

  18. 18

    WSL 및 Ubuntu, 초기화 파일 이동 방법

  19. 19

    OpenCV에서. C ++ 컴파일러는 간단한 테스트 프로그램을 컴파일 할 수 없습니다. Clang ++ 사용

  20. 20

    마우스 휠 JQuery 이벤트 핸들러에 대한 방향 가져 오기

  21. 21

    ViewModel에서 UI 요소를 비동 시적으로 업데이트하는 방법

뜨겁다태그

보관