파 이 썬 파충 류 는 시 나 닷 컴 웨 이 보 내용 의 예 를 들 어[대리 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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기