나는 Beautiful Soup for Python을 배우고 웹 사이트 "https://www.twitteraudit.com/"을 구문 분석하려고합니다. 검색 창에 트위터 ID를 입력하면 일부 ID의 결과가 초 단위로 반환되지만 일부 ID는 데이터를 처리하는 데 약 1 분이 걸립니다. 이 경우 HTML이로드되거나 결과가 완료된 후 어떻게 구문 분석 할 수 있습니까? 그리고 루프를 만들려고했으나 그렇게 작동하지 않습니다. 하지만 내가 브라우저를 열고 웹 링크를로드하면 컴퓨터에 캐시를 저장하고 다음 번에 동일한 ID로 실행하면 완벽하게 작동한다는 것을 알았습니다.Python Beautiful Soup
누구든지 나를 도와 줄 수 있습니까? 도움에 감사드립니다. 나는 문제가 트위터 아이디의 일부가 아직 감사되지 않은 것입니다, 그래서 내가 IndexError
을지고 있다고 생각 아래 코드 >>
from bs4 import BeautifulSoup as soup
from urllib.request import urlopen as uReq
import re
from re import sub
def HTML(myURL):
uClient = uReq(myURL)
pageHTML = uClient.read()
uClient.close()
pageSoup = soup(pageHTML, "html.parser")
return pageSoup
def fakecheck(usr):
myURLfc = "https://www.twitteraudit.com/" + usr
pgSoup = HTML(myURLfc)
foll = pgSoup.findAll("div",{"class":"audit"})
link = foll[0].div.a["href"]
real = foll[0].findAll("span",{"class":"real number"})[0]["data-value"]
fake = foll[0].findAll("span",{"class":"fake number"})[0]["data-value"]
scr = foll[0].findAll("div",{"class":"score"})[0].div
scoresent = scr["class"][1]
score = re.findall(r'\d{1,3}',str(scr))[0]
return [link, real, fake, scoresent, score]
lis = ["BarackObama","POTUS44","ObamaWhiteHouse","MichelleObama","ObamaFoundation","NSC44","ObamaNews","WhiteHouseCEQ44","IsThatBarrak","obama_barrak","theprezident","barrakubama","BarrakObama","banackkobama","YusssufferObama","barrakisdabomb_","BarrakObmma","fuzzyjellymasta","BarrakObama6","bannalover101","therealbarrak","ObamaBarrak666","barrak_obama"]
for u in lis:
link, real, fake, scoresent, score = fakecheck(u)
print ("link : " + link)
print ("Real : " + real)
print ("Fake : " + fake)
print ("Result : " + scoresent)
print ("Score : " + score)
print ("=================")
일부 데이터가 수신되지 않습니까? 귀하의 코드를 실행하고 23 개의 쿼리 모두에 대한 결과를 얻었으므로 제대로 작동하는 것 같습니다. – davedwards
답장을 보내 주셔서 감사합니다 ... 상황을 이해할 수있는 값으로 lis 값을 변경하십시오. lis = [ "TomCruise", "TomCruiseFanCom", "TomCruiseBRCom", "TheAmyNicholson", "TomCruiseIndo" MissionFilm ","JackReacher ","Not_TomCruise ","Pompey_Dave ","tomcruiseblog ","cubanalaf ","JustinMeliNY ","rivergyllenhaal ","eddiehamilton ","TomCruiseActor "] –
네가 맞다면 스크립트 웹 사이트에서 결과가 없다고보고하면 종료됩니다. 'for '루프를'while True :'-loop에두면 결과가없는'ID'에서 멈추고 동시에 페이지에서 감사를 요청합니다 그 ID에 대해서, 그리고 결과가 나오면, 스크립트는 계속됩니다. 그걸 고쳐 줄까요? – davedwards