파 이 썬 파충 류 는 시 나 닷 컴 웨 이 보 내용 의 예 를 들 어[대리 IP 기반]
Python 으로 파충 류 를 만 들 고 웨 이 보 대 V 의 웨 이 보 내용 을 얻 습 니 다.본 고 는 여신 의 웨 이 보 를 예 로 들 어(시 나 닷 컴 역 에 오 르 기:https://m.weibo.cn/u/1259110474)
일반적으로 파충류 가 사 이 트 를 기어 오 르 는데 가장 먼저 선택 한 것 은 m 역 이 고 그 다음은 wap 역 이 며 마지막 으로 PC 역 을 고려한다.물론 이것 은 절대적 인 것 이 아 닙 니 다.어떤 때 는 PC 사이트 의 정보 가 가장 완전 하고 당신 은 마침 모든 정보 가 필요 합 니 다.그러면 PC 사이트 가 당신 의 최 우선 선택 입 니 다.일반적으로 m 역 은 m 로 시작 한 후에 도 메 인 이름 을 연결 하기 때문에 본 고 에서 개설 한 인터넷 주 소 는 m.weibo.cn 이다.
전기 준비
1.프 록 시 IP
인터넷 에는 서 자 무료 대리 IP 와 같은 무료 대리 ip 이 많다.http://www.xicidaili.com/,자신 이 사용 할 수 있 는 것 을 찾 아 테스트 할 수 있다.
2.클러치 분석
스냅 백 을 통 해 웨 이 보 콘 텐 츠 주 소 를 얻 을 수 있 습 니 다.여기 서 자세히 말 하지 않 겠 습 니 다.모 르 는 파트너 는 바 이 두 에서 관련 자 료 를 찾 을 수 있 습 니 다.아래 에 완전한 코드 를 직접 올 릴 수 있 습 니 다.
전체 코드:
# -*- coding: utf-8 -*-
import urllib.request
import json
# V ID
id='1259110474'
# IP
proxy_addr="122.241.72.191:808"
#
def use_proxy(url,proxy_addr):
req=urllib.request.Request(url)
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0")
proxy=urllib.request.ProxyHandler({'http':proxy_addr})
opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler)
urllib.request.install_opener(opener)
data=urllib.request.urlopen(req).read().decode('utf-8','ignore')
return data
# containerid, id
def get_containerid(url):
data=use_proxy(url,proxy_addr)
content=json.loads(data).get('data')
for data in content.get('tabsInfo').get('tabs'):
if(data.get('tab_type')=='weibo'):
containerid=data.get('containerid')
return containerid
# V , : 、 、 、 、 、 、
def get_userInfo(id):
url='https://m.weibo.cn/api/container/getIndex?type=uid&value='+id
data=use_proxy(url,proxy_addr)
content=json.loads(data).get('data')
profile_image_url=content.get('userInfo').get('profile_image_url')
description=content.get('userInfo').get('description')
profile_url=content.get('userInfo').get('profile_url')
verified=content.get('userInfo').get('verified')
guanzhu=content.get('userInfo').get('follow_count')
name=content.get('userInfo').get('screen_name')
fensi=content.get('userInfo').get('followers_count')
gender=content.get('userInfo').get('gender')
urank=content.get('userInfo').get('urank')
print(" :"+name+"
"+" :"+profile_url+"
"+" :"+profile_image_url+"
"+" :"+str(verified)+"
"+" :"+description+"
"+" :"+str(guanzhu)+"
"+" :"+str(fensi)+"
"+" :"+gender+"
"+" :"+str(urank)+"
")
# , , : 、 、 、 、
def get_weibo(id,file):
i=1
while True:
url='https://m.weibo.cn/api/container/getIndex?type=uid&value='+id
weibo_url='https://m.weibo.cn/api/container/getIndex?type=uid&value='+id+'&containerid='+get_containerid(url)+'&page='+str(i)
try:
data=use_proxy(weibo_url,proxy_addr)
content=json.loads(data).get('data')
cards=content.get('cards')
if(len(cards)>0):
for j in range(len(cards)):
print("----- "+str(i)+" , "+str(j)+" ------")
card_type=cards[j].get('card_type')
if(card_type==9):
mblog=cards[j].get('mblog')
attitudes_count=mblog.get('attitudes_count')
comments_count=mblog.get('comments_count')
created_at=mblog.get('created_at')
reposts_count=mblog.get('reposts_count')
scheme=cards[j].get('scheme')
text=mblog.get('text')
with open(file,'a',encoding='utf-8') as fh:
fh.write("---- "+str(i)+" , "+str(j)+" ----"+"
")
fh.write(" :"+str(scheme)+"
"+" :"+str(created_at)+"
"+" :"+text+"
"+" :"+str(attitudes_count)+"
"+" :"+str(comments_count)+"
"+" :"+str(reposts_count)+"
")
i+=1
else:
break
except Exception as e:
print(e)
pass
if __name__=="__main__":
file=id+".txt"
get_userInfo(id)
get_weibo(id,file)
결과 를 얻다더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,,,,,,,,,,,
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.