찾다
백엔드 개발파이썬 튜토리얼이름을 가져오기 위한 Python 크롤러 구현 코드 예

누구나 인생에서 한 가지 일을 겪게 됩니다. 그것이 나타나기 전에는 신경쓰지 않지만, 일단 나타나면 그것이 매우 중요하고 짧은 시간 내에 중대한 결정을 내려야 한다는 것을 알게 됩니다. 그것은 당신 자신을 위한 것입니다. 갓 태어난 아기에게 이름을 지어 주십시오. 다음 글에서는 파이썬 크롤러를 활용해 아이에게 좋은 이름을 지어주는 방법을 주로 소개합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

서문

아이가 태어난 후 2주 이내에 이름을 정하는 데 시간이 많이 걸리기 때문에 부모라면 누구나 한 번쯤 경험했을 거라 믿는다. 모두가 저와 같습니다. 처음에는 한자가 너무 많다고 느꼈지만 아무 문자나 선택하여 이름을 만들 수 있다는 것을 나중에 깨달았습니다. 아무리 생각해도 부적절하다는 생각이 들어서 사전과 인터넷을 뒤져보니 당시, 노래 가사, 가경, 심지어 무술소설까지 찾아 봤습니다. 오랫동안 생각해 왔던 말투의 어려움, 친척의 이름과 같은 사투리 등의 문제 등 가족들의 의견과 반대가 자주 발생하게 되면서 반복되는 악순환에 빠지게 됩니다. 검색과 거부의 순환은 점점 더 혼란스러워집니다.

그래서 다시 인터넷에 를 검색해 보니 "좋은 남자아이 이름 전체 목록" 같은 기사가 한 번에 수백 개나 나오더라고요. 수천 개의 이름은 사용하기에는 너무 어지러워요. 이름을 테스트하는 웹사이트나 앱이 많이 있습니다. 이름을 입력하면 8자 또는 5자 등급을 얻을 수 있습니다. 이 기능은 상당히 좋으며 참고로 사용할 수 있습니다. 그러나 이름을 하나 입력해야 합니다. 테스트를 위해 하나씩 테스트하거나 이러한 웹 사이트나 앱에는 이름이 거의 없으며 한정 단어와 같은 요구 사항을 충족할 수 없거나 비용이 청구되기 시작하여 결국 유용한 항목을 찾을 수 없습니다.

그래서 저는 다음과 같은 프로그램을 만들고 싶었습니다.

  1. 주요 기능은 배치 이름에 대한 참조를 제공하는 것입니다. 아기 이름 생년월일과 별자리를 기준으로 계산됩니다.

  2. 예를 들어, 노래 책에서 좋은 이름을 찾으면 이름 라이브러리를 확장할 수 있습니다. 인터넷에서 해당 이름을 추가하여 사용할 수 있습니다.

  3. 예를 들어 일부 가계도에는 제한이 있습니다. 현재 "國" 문자가 있는 세대에 속해 있는 경우 이름에는 "國" 문자가 있어야 합니다.

  4. 이름 목록에 점수를 부여할 수 있으므로 반전 후 볼 수 있습니다. 높은 점수부터 낮은 점수까지 이름에서

이런 방법으로 사본을 얻을 수 있습니다. 자녀의 생년월일, 가계도와 일치하는 이름 목록이 있습니다. 제한 사항과 선호도, 그리고 목록에 참고용으로 점수가 주어져 있으며 이를 바탕으로 하나씩 알아내서 마음에 드는 이름을 찾을 수 있습니다. 물론, 새로운 아이디어가 있으면 언제든지 어휘에 새로운 이름을 추가하고 다시 계산할 수 있습니다.

프로그램 코드 구조

코드 소개:

  • /chinese-name-score 코드 루트 디렉터리

  • /chinese-name-score/main 코드 디렉터리

  • /chinese-name-score/main/dicts 사전 파일 디렉터리

  • /chinese-name-score/main/dicts/names_boys_double.txt 사전 파일, 남자아이의 두 글자 이름

  • /chinese-name-score/main/dicts/names_boys_single.txt 사전 파일, 남자아이의 한 글자 이름

  • /chinese- name-score/ main/dicts/names_girls_single.txt 사전 파일, 여자아이의 두 글자 이름

  • /chinese-name-score/main/dicts/names_grils_double.txt 사전 파일, 1개 - 여자아이의 이름

  • /chinese-name-score/main/outputs 출력 데이터 디렉터리

  • /chinese-name-score/main /outputs/names_girls_source_wxy.txt 출력 샘플 파일

  • /chinese-name-score/main/scripts 사전 파일 전처리를 위한 일부 스크립트

  • / Chinese-name -score/main/scripts/unique_file_lines.py 사전에 있는 이름에서 중복과 빈 줄을 제거하도록 사전 파일을 설정합니다.

  • /chinese -name -score/main/sys_config.py 크롤링된 대상 URL 및 사전 파일 경로를 포함한 프로그램의 시스템 구성

  • /chinese-name-score/main/user_config.py 아기의 연도, 월, 일, 시간, 성별 및 기타 설정을 포함한 프로그램의 사용자 구성

  • /chinese-name-score/main/get_name_score.py 프로그램 실행 입구

코드 사용 방법:

  1. 한정자가 없으면 사전 파일 names_boys_double을 찾으세요. txt 및 names_grils_double.txt를 여기에 추가할 수 있습니다. 일부 이름 목록을 찾으려면 행별로 나누고 끝에 추가하세요.

  2. 한정된 단어가 있으면 다음을 찾으세요. names_boys_single.txt 및 names_girls_single.txt 사전 파일을 여기에 추가하고 단일 단어 목록을 줄로 나누어 마지막에 추가할 수 있습니다.

  3. user_config.py를 열고 구성하세요. . 구성 항목은 다음 섹션을 참조하세요.

  4. get_name_score.py 스크립트 실행

  5. 출력 디렉터리에서 정렬 및 기타 작업을 위해 Excel에 복사할 수 있는 자체 출력 파일을 확인하세요.

프로그램

프로그램의 구성 항목은 다음과 같이 구성됩니다.

# coding:GB18030
 
"""
在这里写好配置
"""
 
setting = {}
 
# 限定字,如果配置了该值,则会取用单字字典,否则取用多字字典
setting["limit_world"] = "国"
# 姓
setting["name_prefix"] = "李"
# 性别,取值为 男 或者 女
setting["sex"] = "男"
# 省份
setting["area_province"] = "北京"
# 城市
setting["area_region"] = "海淀"
# 出生的公历年份
setting['year'] = "2017"
# 出生的公历月份
setting['month'] = "1"
# 出生的公历日子
setting['day'] = "11"
# 出生的公历小时
setting['hour'] = "11"
# 出生的公历分钟
setting['minute'] = "11"
# 结果产出文件名称
setting['output_fname'] = "names_girls_source_xxx.txt"

구성 항목 setting[“limit_world”] 에 따라 단일 문자 사전을 사용할지 또는 단일 문자 사전을 사용할지 시스템이 자동으로 결정합니다. 다중 문자 사전:

  1. 예를 들어 이 항목이 "國"으로 설정되면 프로그램은 계산을 위해 모든 단어를 이름으로 결합합니다. 예를 들어, Guohao 및 Haoguo 이름이 모두 계산됩니다.

  2. 이 항목을 설정하지 않고 빈 문자열 을 유지하면 프로그램은 이중 단어만 읽습니다. *_double.txt 사전

프로그램 원리

간단한 크롤러입니다. life.httpcn.com/xingming.asp 웹사이트를 열어서 확인할 수 있습니다. 이는 필수 매개변수를 입력하고 제출을 클릭하면 결과 페이지 하단에 8자가 표시됩니다. 점수와 5프레임 점수.

점수를 얻으려면 두 가지 작업을 수행해야 합니다. 하나는 자동으로 크롤러에 양식을 제출하고 결과 페이지를 가져오는 것입니다.

우선 매우 간단합니다. urllib2가 이를 구현할 수 있습니다(코드는 /chinese-name-score/main/get_name_score.py에 있음).

 post_data = urllib.urlencode(params)
 req = urllib2.urlopen(sys_config.REQUEST_URL, post_data)
 content = req.read()

여기의 매개변수는 매개변수입니다. dict. 이 방법을 사용하면 데이터가 포함된 POST가 제출되고 콘텐츠에서 결과 데이터가 얻어집니다.

params의 매개변수는 다음과 같이 설정됩니다.

 params = {}
 
 # 日期类型,0表示公历,1表示农历
 params['data_type'] = "0"
 params['year'] = "%s" % str(user_config.setting["year"])
 params['month'] = "%s" % str(user_config.setting["month"])
 params['day'] = "%s" % str(user_config.setting["day"])
 params['hour'] = "%s" % str(user_config.setting["hour"])
 params['minute'] = "%s" % str(user_config.setting["minute"])
 params['pid'] = "%s" % str(user_config.setting["area_province"])
 params['cid'] = "%s" % str(user_config.setting["area_region"])
 # 喜用五行,0表示自动分析,1表示自定喜用神
 params['wxxy'] = "0"
 params['xing'] = "%s" % (user_config.setting["name_prefix"])
 params['ming'] = name_postfix
 # 表示女,1表示男
 if user_config.setting["sex"] == "男":
  params['sex'] = "1"
 else:
  params['sex'] = "0"
  
 params['act'] = "submit"
 params['isbz'] = "1"

두 번째는 웹 페이지에서 필요한 점수를 추출하는 것입니다. 이를 달성하기 위해 BeautifulSoup4를 사용할 수 있으며 구문도 매우 좋습니다. 간단함:

 soup = BeautifulSoup(content, 'html.parser', from_encoding="GB18030")
 full_name = get_full_name(name_postfix)
 
 # print soup.find(string=re.compile(u"姓名五格评分"))
 for node in soup.find_all("p", class_="chaxun_b"):
  node_cont = node.get_text()
  if u'姓名五格评分' in node_cont:
   name_wuge = node.find(string=re.compile(u"姓名五格评分"))
   result_data['wuge_score'] = name_wuge.next_sibling.b.get_text()
  
  if u'姓名八字评分' in node_cont:
   name_wuge = node.find(string=re.compile(u"姓名八字评分"))
   result_data['bazi_score'] = name_wuge.next_sibling.b.get_text()

이 방법을 사용하면 HTML을 구문 분석하고 8개 문자와 5개 그리드의 점수를 추출할 수 있습니다.

실행 결과의 예

1/1287 李国锦 姓名八字评分=61.5 姓名五格评分=78.6 总分=140.1
2/1287 李国铁 姓名八字评分=61 姓名五格评分=89.7 总分=150.7
3/1287 李国晶 姓名八字评分=21 姓名五格评分=81.6 总分=102.6
4/1287 李鸣国 姓名八字评分=21 姓名五格评分=90.3 总分=111.3
5/1287 李柔国 姓名八字评分=64 姓名五格评分=78.3 总分=142.3
6/1287 李国经 姓名八字评分=21 姓名五格评分=89.8 总分=110.8
7/1287 李国蒂 姓名八字评分=22 姓名五格评分=87.2 总分=109.2
8/1287 李国登 姓名八字评分=21 姓名五格评分=81.6 总分=102.6
9/1287 李略国 姓名八字评分=21 姓名五格评分=83.7 总分=104.7
10/1287 李国添 姓名八字评分=21 姓名五格评分=81.6 总分=102.6
11/1287 李国天 姓名八字评分=22 姓名五格评分=83.7 总分=105.7
12/1287 李国田 姓名八字评分=22 姓名五格评分=93.7 总分=115.7

이 점수를 사용하여 정렬할 수 있는데 이는 매우 실용적인 참고 사항입니다.

알림

  1. 점수는 출생 시간, 제한된 문자, 자격을 갖춘 스트로크 등 여러 요소와 관련이 있습니다. 이러한 조건에 따라 일부 이름은 높은 점수를 얻지 못할 것으로 결정되었으므로 이에 영향을 받지 말고 상대 점수가 높은 이름을 찾으십시오.

  2. 현재; , 프로그램은 하나의 웹사이트 콘텐츠만 크롤링할 수 있으며 주소는 http://life.httpcn.com/xingming.asp

  3. 이 목록은 참고용입니다. 역사상 많은 유명인과 위대한 사람들이 있습니다. 그들의 이름은 매우 낮은 평가를 받았지만 모두 훌륭한 성과를 거두었습니다. , 이름은 어느 정도 영향력이 있지만 때로는 눈에 띄는 단어가 최고입니다. 🎜>

    이 목록에서 이름을 선택하면 Baidu, Renren 및 기타 장소에서 이름이 같거나 이 이름을 가진 사람이 너무 많을 경우를 대비하여 확인할 수 있습니다. 🎜>
  4. 8자 악보는 중국에서 물려받았고, 5자 악보는 근대에 일본인이 발명한 것이기도 합니다. 5개의 점수는 웹사이트마다 매우 다릅니다. 이는 이 항목이

  5. 다음 사이트에

    업로드
  6. 되었음을 증명합니다.
git

허브 요약

[관련 추천]

1. 🎜>

2.

Python, 데이터 수집을 만나다 영상 튜토리얼

3. Python 학습 매뉴얼

위 내용은 이름을 가져오기 위한 Python 크롤러 구현 코드 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Python 학습 : 2 시간의 일일 연구가 충분합니까?Python 학습 : 2 시간의 일일 연구가 충분합니까?Apr 18, 2025 am 12:22 AM

하루에 2 시간 동안 파이썬을 배우는 것으로 충분합니까? 목표와 학습 방법에 따라 다릅니다. 1) 명확한 학습 계획을 개발, 2) 적절한 학습 자원 및 방법을 선택하고 3) 실습 연습 및 검토 및 통합 연습 및 검토 및 통합,이 기간 동안 Python의 기본 지식과 고급 기능을 점차적으로 마스터 할 수 있습니다.

웹 개발을위한 파이썬 : 주요 응용 프로그램웹 개발을위한 파이썬 : 주요 응용 프로그램Apr 18, 2025 am 12:20 AM

웹 개발에서 Python의 주요 응용 프로그램에는 Django 및 Flask 프레임 워크 사용, API 개발, 데이터 분석 및 시각화, 머신 러닝 및 AI 및 성능 최적화가 포함됩니다. 1. Django 및 Flask 프레임 워크 : Django는 복잡한 응용 분야의 빠른 개발에 적합하며 플라스크는 소형 또는 고도로 맞춤형 프로젝트에 적합합니다. 2. API 개발 : Flask 또는 DjangorestFramework를 사용하여 RESTFULAPI를 구축하십시오. 3. 데이터 분석 및 시각화 : Python을 사용하여 데이터를 처리하고 웹 인터페이스를 통해 표시합니다. 4. 머신 러닝 및 AI : 파이썬은 지능형 웹 애플리케이션을 구축하는 데 사용됩니다. 5. 성능 최적화 : 비동기 프로그래밍, 캐싱 및 코드를 통해 최적화

Python vs. C : 성능과 효율성 탐색Python vs. C : 성능과 효율성 탐색Apr 18, 2025 am 12:20 AM

Python은 개발 효율에서 C보다 낫지 만 C는 실행 성능이 높습니다. 1. Python의 간결한 구문 및 풍부한 라이브러리는 개발 효율성을 향상시킵니다. 2.C의 컴파일 유형 특성 및 하드웨어 제어는 실행 성능을 향상시킵니다. 선택할 때는 프로젝트 요구에 따라 개발 속도 및 실행 효율성을 평가해야합니다.

Python in Action : 실제 예제Python in Action : 실제 예제Apr 18, 2025 am 12:18 AM

Python의 실제 응용 프로그램에는 데이터 분석, 웹 개발, 인공 지능 및 자동화가 포함됩니다. 1) 데이터 분석에서 Python은 Pandas 및 Matplotlib를 사용하여 데이터를 처리하고 시각화합니다. 2) 웹 개발에서 Django 및 Flask 프레임 워크는 웹 응용 프로그램 생성을 단순화합니다. 3) 인공 지능 분야에서 Tensorflow와 Pytorch는 모델을 구축하고 훈련시키는 데 사용됩니다. 4) 자동화 측면에서 파이썬 스크립트는 파일 복사와 같은 작업에 사용할 수 있습니다.

Python의 주요 용도 : 포괄적 인 개요Python의 주요 용도 : 포괄적 인 개요Apr 18, 2025 am 12:18 AM

Python은 데이터 과학, 웹 개발 및 자동화 스크립팅 필드에 널리 사용됩니다. 1) 데이터 과학에서 Python은 Numpy 및 Pandas와 같은 라이브러리를 통해 데이터 처리 및 분석을 단순화합니다. 2) 웹 개발에서 Django 및 Flask 프레임 워크를 통해 개발자는 응용 프로그램을 신속하게 구축 할 수 있습니다. 3) 자동 스크립트에서 Python의 단순성과 표준 라이브러리가 이상적입니다.

파이썬의 주요 목적 : 유연성과 사용 편의성파이썬의 주요 목적 : 유연성과 사용 편의성Apr 17, 2025 am 12:14 AM

Python의 유연성은 다중 파리가 지원 및 동적 유형 시스템에 반영되며, 사용 편의성은 간단한 구문 및 풍부한 표준 라이브러리에서 나옵니다. 유연성 : 객체 지향, 기능 및 절차 프로그래밍을 지원하며 동적 유형 시스템은 개발 효율성을 향상시킵니다. 2. 사용 편의성 : 문법은 자연 언어에 가깝고 표준 라이브러리는 광범위한 기능을 다루며 개발 프로세스를 단순화합니다.

파이썬 : 다목적 프로그래밍의 힘파이썬 : 다목적 프로그래밍의 힘Apr 17, 2025 am 12:09 AM

Python은 초보자부터 고급 개발자에 이르기까지 모든 요구에 적합한 단순성과 힘에 호의적입니다. 다목적 성은 다음과 같이 반영됩니다. 1) 배우고 사용하기 쉽고 간단한 구문; 2) Numpy, Pandas 등과 같은 풍부한 라이브러리 및 프레임 워크; 3) 다양한 운영 체제에서 실행할 수있는 크로스 플랫폼 지원; 4) 작업 효율성을 향상시키기위한 스크립팅 및 자동화 작업에 적합합니다.

하루 2 시간 안에 파이썬 학습 : 실용 가이드하루 2 시간 안에 파이썬 학습 : 실용 가이드Apr 17, 2025 am 12:05 AM

예, 하루에 2 시간 후에 파이썬을 배우십시오. 1. 합리적인 학습 계획 개발, 2. 올바른 학습 자원을 선택하십시오. 3. 실습을 통해 학습 된 지식을 통합하십시오. 이 단계는 짧은 시간 안에 Python을 마스터하는 데 도움이 될 수 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전