디스크에 저장된 html 파일의 URL과 이름을 추출하고 각각 인쇄-Python

그것에 Yannis

BeautifulSoup 또는 다른 라이브러리 사용 하지 않고 URL과 이름 ( <a href='url' title='smth'>NAME</a>디스크에 저장된 html 파일) 을 추출하고 인쇄하려고합니다 . 초보자 용 Python 코드입니다. 원하는 인쇄 형식은 다음과 같습니다.

http://..filepath/filename.pdf
File's Name
so on...

모든 URL 또는 모든 이름을 단독으로 추출하여 인쇄 할 수 있었지만 태그 바로 앞에 포함 된 코드에서 잠시 후 뒤에 오는 모든 이름을 추가하고 각 URL 아래에 인쇄하지 못했습니다. 내 코드가 지저분 해지고 꽤 스택입니다. 지금까지 내 코드입니다.

import os
with open (os.path.expanduser('~/SomeFolder/page.html'),'r') as html:
    txt = html.read()
# for urls
nolp = 0
urlarrow = []
while nolp == 0:
    pos = txt.find("href")
    if pos >= 0:
      txtcount = len(txt)
      txt = txt[pos:txtcount]
      pos = txt.find('"')
      txtcount = len(txt)
      txt = txt[pos+1:txtcount]
      pos = txt.find('"')
      url = txt[0:pos]
      if url.startswith("http") and url.endswith("pdf"):
          urlarrow.append(url)
    else:
      nolp = 1
for item in urlarrow:
  print(item)

#for names
almost identical code to the above

html.close()

어떻게 작동합니까? 나는 그것들을 하나의 기능 또는 정의로 통합해야하지만 어떻게? 추신. 아래에 답변을 게시했지만 더 간단하고 Pythonic 솔루션이있을 수 있다고 생각합니다.

그것에 Yannis

이것은 내가 필요한 올바른 출력을 만들지 만 더 나은 방법이 있다고 확신합니다.

import os
with open ('~/SomeFolder/page.html'),'r') as html:
    txt = html.read()
    text = txt
#for urls    
nolp = 0
urlarrow = []
while nolp == 0:
    pos = txt.find("href")
    if pos >= 0:
      txtcount = len(txt)
      txt = txt[pos:txtcount]
      pos = txt.find('"')
      txtcount = len(txt)
      txt = txt[pos+1:txtcount]
      pos = txt.find('"')
      url = txt[0:pos]
      if url.startswith("http") and url.endswith("pdf"):
          urlarrow.append(url)
    else:
      nolp = 1

with open (os.path.expanduser('~/SomeFolder/page.html'),'r') as html:
    text = html.read()

#for names  
noloop = 0
namearrow = []
while noloop == 0:
    posB = text.find("title")
    if posB >= 0:
      textcount = len(text)
      text = text[posB:textcount]
      posB = text.find('"')
      textcount = len(text)
      text = text[posB+19:textcount] #because string starts 19 chars after the posB
      posB = text.find('</')
      name = text[1:posB]
      if text[0].startswith('>'):
          namearrow.append(name)
    else:
      noloop = 1

fullarrow = []
for pair in zip(urlarrow, namearrow):
    for item in pair:
        fullarrow.append(item)
for instance in fullarrow:
    print(instance)

html.close()

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

각 파일의 이름과 디렉토리의 내용을 인쇄하는 방법은 무엇입니까?

분류에서Dev

각 텍스트 파일에서 특정 행을 추출하고 하나의 txt 파일에 저장

분류에서Dev

HTML 파일에서 추출 된 값을 저장하는 변수를 인쇄 할 수 없습니다.

분류에서Dev

파일에서 특정 줄을 추출하고 Python의 각 새 파일에 특정 줄을 저장하는 방법

분류에서Dev

Python의 데이터 프레임에 인쇄 된 결과 저장

분류에서Dev

디렉토리의 각 PDF 파일을 다른 PDF로 저장 (PDF를 PDF로 인쇄하는 것과 유사한 작업)

분류에서Dev

특정 파일 이름 형식의 파일을 찾고, 헤더 파일로 각각 분류하고, 각 파일에 대한 결과를 원본 파일에 저장합니다.

분류에서Dev

R : 여러 입력 파일을 반복하고 각 입력 파일의 이름에 따라 결과 파일을 저장합니다.

분류에서Dev

Bash-두 파일이 있는지 확인하고 기존 파일에 대해 각각의 파일 이름을 인쇄합니다.

분류에서Dev

각 줄의 각 파일 경로에서 파일 이름을 추출하고 그 옆에 추가하십시오.

분류에서Dev

열의 각 고유 값에 대해 라인을 추출하고 별도로 저장하십시오.

분류에서Dev

하나의 디스크 (zfs / lvm?)에 각 (전체) 파일을 저장하는 스트라이프 어레이

분류에서Dev

Awk를 사용하여 file1의 각 줄을 file2의 각 줄에서 사용 된 파일 이름으로 새 파일에 저장합니다.

분류에서Dev

디렉토리의 오디오 파일이 데이터베이스에 저장된 파일 이름과 일치하는지 확인하는 방법

분류에서Dev

모든 파일 이름을 인쇄하고 특정 문자열이있는 경우 각 이름에 1을 추가하고 0을 추가합니다.

분류에서Dev

Javascript : 맵을 사용하여 배열의 각 객체에 속성 "이름"과 "값"을 인쇄합니다.

분류에서Dev

.zip 파일 목록을 각각 하나의 새 디렉토리에 추출하고 zip 파일 이름에서 가져올 디렉토리 이름

분류에서Dev

파이썬 파일에서 각 줄에 대한 출력 인쇄

분류에서Dev

목록 / 찾기 명령에서 각 고유 권한에 대한 파일을 만들고 해당 권한의 각 디렉토리 / 파일 경로 인스턴스를 인쇄하는 Bash 스크립트

분류에서Dev

EC2의 AWS S3 버킷에 저장된 Python 스크립트를 실행하고 결과 파일을 다시 S3 버킷에 저장

분류에서Dev

Python : 파일 크기에 따라 파일 이름과 디렉토리 인쇄

분류에서Dev

모든 csv 파일에서 n 열을 추가하고 다른 csv 파일에 저장하는 방법 (헤더가 열의 출처 인 파일 이름 임)?

분류에서Dev

csv 파일의 열을 읽고 Python을 사용하여 각 열을 변수에 저장합니다.

분류에서Dev

쉘 스크립트를 사용하여 각 줄을 추출하고 변수에 할당하고 개별적으로 새 파일로 저장합니다.

분류에서Dev

파일에서 rang 데이터를 추출하여 각 범위를 별도의 파일에 저장

분류에서Dev

파일의 각 줄을 일련의 파일에 저장하는 Bash 스크립트?

분류에서Dev

내 스크립트의 각 출력 전에 진술을 인쇄하십시오.

분류에서Dev

새 줄에 파일의 각 열 앞에 열 1을 인쇄하십시오.

분류에서Dev

한 파일의 인덱스 값을 사용하여 인쇄하고 두 번째 파일에서 데이터를 추출하고 출력을 세 번째 파일에 저장하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    각 파일의 이름과 디렉토리의 내용을 인쇄하는 방법은 무엇입니까?

  2. 2

    각 텍스트 파일에서 특정 행을 추출하고 하나의 txt 파일에 저장

  3. 3

    HTML 파일에서 추출 된 값을 저장하는 변수를 인쇄 할 수 없습니다.

  4. 4

    파일에서 특정 줄을 추출하고 Python의 각 새 파일에 특정 줄을 저장하는 방법

  5. 5

    Python의 데이터 프레임에 인쇄 된 결과 저장

  6. 6

    디렉토리의 각 PDF 파일을 다른 PDF로 저장 (PDF를 PDF로 인쇄하는 것과 유사한 작업)

  7. 7

    특정 파일 이름 형식의 파일을 찾고, 헤더 파일로 각각 분류하고, 각 파일에 대한 결과를 원본 파일에 저장합니다.

  8. 8

    R : 여러 입력 파일을 반복하고 각 입력 파일의 이름에 따라 결과 파일을 저장합니다.

  9. 9

    Bash-두 파일이 있는지 확인하고 기존 파일에 대해 각각의 파일 이름을 인쇄합니다.

  10. 10

    각 줄의 각 파일 경로에서 파일 이름을 추출하고 그 옆에 추가하십시오.

  11. 11

    열의 각 고유 값에 대해 라인을 추출하고 별도로 저장하십시오.

  12. 12

    하나의 디스크 (zfs / lvm?)에 각 (전체) 파일을 저장하는 스트라이프 어레이

  13. 13

    Awk를 사용하여 file1의 각 줄을 file2의 각 줄에서 사용 된 파일 이름으로 새 파일에 저장합니다.

  14. 14

    디렉토리의 오디오 파일이 데이터베이스에 저장된 파일 이름과 일치하는지 확인하는 방법

  15. 15

    모든 파일 이름을 인쇄하고 특정 문자열이있는 경우 각 이름에 1을 추가하고 0을 추가합니다.

  16. 16

    Javascript : 맵을 사용하여 배열의 각 객체에 속성 "이름"과 "값"을 인쇄합니다.

  17. 17

    .zip 파일 목록을 각각 하나의 새 디렉토리에 추출하고 zip 파일 이름에서 가져올 디렉토리 이름

  18. 18

    파이썬 파일에서 각 줄에 대한 출력 인쇄

  19. 19

    목록 / 찾기 명령에서 각 고유 권한에 대한 파일을 만들고 해당 권한의 각 디렉토리 / 파일 경로 인스턴스를 인쇄하는 Bash 스크립트

  20. 20

    EC2의 AWS S3 버킷에 저장된 Python 스크립트를 실행하고 결과 파일을 다시 S3 버킷에 저장

  21. 21

    Python : 파일 크기에 따라 파일 이름과 디렉토리 인쇄

  22. 22

    모든 csv 파일에서 n 열을 추가하고 다른 csv 파일에 저장하는 방법 (헤더가 열의 출처 인 파일 이름 임)?

  23. 23

    csv 파일의 열을 읽고 Python을 사용하여 각 열을 변수에 저장합니다.

  24. 24

    쉘 스크립트를 사용하여 각 줄을 추출하고 변수에 할당하고 개별적으로 새 파일로 저장합니다.

  25. 25

    파일에서 rang 데이터를 추출하여 각 범위를 별도의 파일에 저장

  26. 26

    파일의 각 줄을 일련의 파일에 저장하는 Bash 스크립트?

  27. 27

    내 스크립트의 각 출력 전에 진술을 인쇄하십시오.

  28. 28

    새 줄에 파일의 각 열 앞에 열 1을 인쇄하십시오.

  29. 29

    한 파일의 인덱스 값을 사용하여 인쇄하고 두 번째 파일에서 데이터를 추출하고 출력을 세 번째 파일에 저장하는 방법은 무엇입니까?

뜨겁다태그

보관