>  기사  >  백엔드 개발  >  부문별 자금 흐름을 크롤링하는 Python 프로그램 작성

부문별 자금 흐름을 크롤링하는 Python 프로그램 작성

WBOY
WBOY앞으로
2023-04-13 10:07:021754검색

부문별 자금 흐름을 크롤링하는 Python 프로그램 작성

위의 개별 주식의 자본 흐름을 크롤링하는 예를 통해 자신만의 크롤링 코드를 작성하는 방법을 배울 수 있어야 합니다. 이제 그것을 통합하고 유사한 작은 운동을 하십시오. 온라인 부문의 자금 흐름을 크롤링하려면 자신만의 Python 프로그램을 작성해야 합니다. 크롤링된 URL은 http://data.eastmoney.com/bkzj/hy.html이고 디스플레이 인터페이스는 그림 1에 표시됩니다.金 그림 1 자금 흐름 웹사이트의 인터페이스

1, JS부문별 자금 흐름을 크롤링하는 Python 프로그램 작성

찾기 F12 키를 직접 누르고 개발 및 커미셔닝 도구에 해당하는 웹페이지를 열고 그림 2와 같이 데이터에 해당하는 데이터를 찾습니다. .

그림 2 JS에 해당하는 웹페이지 찾기

그런 다음 브라우저에 URL을 입력하면 URL이 비교적 깁니다. 부문별 자금 흐름을 크롤링하는 Python 프로그램 작성

http://push2.eastmoney.com/api/qt/clist/get?cb=jQuery112309073354919152763_1617455258434&pn=1&pz=500&po=1&np=1&fields=f12%2Cf13%2Cf14%2Cf62&fid =f6 2&fs=m%3A90%2Bt%3A2&ut= b2884a393a59ad64002292a3e90d46a5&_=1617455258435

이때 그림 3과 같이 웹사이트에서 피드백을 받게 됩니다.

그림 3 웹사이트에서 섹션 및 자금 흐름 가져오기

이 URL에 해당하는 콘텐츠가 우리가 크롤링하려는 콘텐츠입니다. 부문별 자금 흐름을 크롤링하는 Python 프로그램 작성

2, 요청 요청 및 응답 응답 상태

크롤러 코드를 작성합니다. 자세한 내용은 다음 코드를 참조하세요.

# coding=utf-8
import requests
url=" http://push2.eastmoney.com/api/qt/clist/get?cb=jQuery112309073354919152763_
1617455258436&fid=f62&po=1&pz=50&pn=1&np=1&fltt=2&invt=2&ut=b2884a393a59ad64002292a3
e90d46a5&fs=m%3A90+t%3A2&fields=f12%2Cf14%2Cf2%2Cf3%2Cf62%2Cf184%2Cf66%2Cf69%2Cf72%2
Cf75%2Cf78%2Cf81%2Cf84%2Cf87%2Cf204%2Cf205%2Cf124"
r = requests.get(url)

r.status_code는 응답 상태가 정상임을 나타내는 200을 표시합니다. r.text에는 그림 4와 같이 자본 흐름 데이터 크롤링이 성공했음을 나타내는 데이터도 있습니다.

그림 4 응답 상태

3, 문자열을 JSON 표준 형식으로 정리 부문별 자금 흐름을 크롤링하는 Python 프로그램 작성

(1) r.text 데이터를 분석합니다. 내부 형식은 표준 JSON이지만 앞에 몇 가지 추가 접두사가 있습니다. jQ 접두사를 제거하고 Split() 함수를 사용하여 이 작업을 완료합니다. 자세한 내용은 다음 코드를 참조하세요.

r_text=r.text.split("{}".format("jQuery112309073354919152763_1617455258436"))[1]
r_text

실행 결과는 그림 5에 나와 있습니다.的 그림 5 접두사

의 실행 결과를 제거합니다. (2) JSON 데이터를 정렬합니다. 자세한 내용은 다음 코드를 참조하세요.

r_text_qu=r_text.rstrip(';')
r_text_json=json.loads(r_text_qu[1:-1])['data']['diff']
dfcf_code={"f12":"code","f2":"价格","f3":"涨幅","f14":"name","f62":"主净入√","f66":"超净入","f69":"超占比", "f72":"大净入","f75":"大占比","f78":"中净入","f81":"中占比","f84":"小净入","f87":"小占比","f124":"不知道","f184":"主占比√"}
result_=pd.DataFrame(r_text_json).rename(columns=dfcf_code)
result_["主净入√"]=round(result_["主净入√"]/100000000,2)#一亿,保留2位
result_=result_[result_["主净入√"]>0]
result_["超净入"]=round(result_["超净入"]/100000000,2)#一亿,保留2位
result_["大净入"]=round(result_["大净入"]/100000000,2)#一亿,保留2位
result_["中净入"]=round(result_["中净入"]/100000000,2)#一亿,保留2位
result_["小净入"]=round(result_["小净入"]/100000000,2)#一亿,保留2位
result_

실행 결과는 그림 6에 나와 있습니다. ㅋㅋ                                                           

위의 두 가지 펀드 크롤링 예시를 통해 크롤러의 사용 방법을 어느 정도 이해하셨을 것입니다. 핵심 아이디어는 다음과 같습니다.

부문별 자금 흐름을 크롤링하는 Python 프로그램 작성 (1) 개별 주식 자본 흐름의 장점을 선택합니다.

(2) 웹사이트 주소를 얻어 분석합니다.

(3) 크롤러를 사용하여 데이터를 얻고 데이터를 저장합니다.

부문별 자금 흐름을 크롤링하는 Python 프로그램 작성 그림 6 데이터 저장

요약

JSON 형식 데이터는 많은 웹사이트에서 사용하는 표준화된 데이터 형식 중 하나이며 읽기 및 쓰기가 매우 쉽고 네트워크를 효과적으로 개선할 수 있는 경량 데이터 교환 형식입니다. 전송 효율. 가장 먼저 크롤링해야 할 것은 str 형식의 문자열입니다. 데이터 처리 및 처리를 통해 표준 JSON 형식으로 변환된 다음 Pandas 형식으로 변환됩니다.

사례 분석과 실제 전투를 통해 금융 데이터를 크롤링하는 자체 코드를 작성하는 방법을 배우고 이를 JSON 표준 형식으로 변환할 수 있는 능력을 갖추어야 합니다. 일일 데이터 크롤링 및 데이터 저장 작업을 완료하여 향후 데이터 기록 테스트 및 데이터 기록 분석을 위한 효과적인 데이터 지원을 제공합니다.

물론 유능한 독자라면 MySQL, MongoDB 또는 클라우드 데이터베이스 Mongo Atlas와 같은 데이터베이스에 결과를 저장할 수 있습니다. 저자는 여기서 설명에 집중하지 않을 것입니다. 우리는 전적으로 양적 학습과 전략 연구에 중점을 두고 있습니다. txt 형식을 사용하여 데이터를 저장하면 초기 데이터 저장 문제를 완전히 해결할 수 있으며 데이터도 완전하고 효과적입니다.

위 내용은 부문별 자금 흐름을 크롤링하는 Python 프로그램 작성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제