리팩터링 확인-URL

아바신 / URL 확인


URL의 반환 코드를 확인하는 Python 스크립트입니다.




내가 가장 먼저 알아차린 것은 전체 프로그램이 main() 함수 안에 작성되었다는 것입니다. 프로그램 작동 방식을 이해하는 데 도움이 되도록 I would refactor Verify-URL into smaller functions을 결정했습니다.

main()을 다음과 같이 재정렬했습니다.
  • get_args()
  • check_args()
  • get_urls()
  • verify_url()
  • print_status()

  • 모든 것이 좋아 보였고 예상대로 작동했습니다... 파일 이름을 제공한 경우를 제외하고요.

    >>> python verify_url.py src.html
    Invalid URL '': No schema supplied. Perhaps you meant http://?
    

    문자열 목록으로 간주되는 항목에 NoneType 개체가 추가되는 것처럼 보이는 get_urls()에 대한 오류를 추적했습니다.

    for url in soup.find_all('a'):
      urls.append(url.get('href'))
    

    수정하기 위해 모든 항목을 문자열로 캐스팅하고 'http'로 시작하는지 확인했습니다.

    for url in soup.find_all("a"):
      href = str(url.get('href'))
      if href.startswith('http'):   
        urls.append(href)
    

    명령줄에서 도구를 다시 실행하고 확인할 파일을 제공했습니다. 이번에는 원활하게 실행되어 다채로운 목록을 인쇄했습니다.

    I submitted a Pull Request , 이러한 변경 사항이 작성자의 테스트를 통과하기를 바랍니다! 라임이 아니었어...

    좋은 웹페이지 즐겨찾기