python-如何将页码作为变量获取
我试着放弃一些电影评论和收视率,如果没有更多的评论和收视率,我试着结束这段代码python-如何将页码作为变量获取,python,beautifulsoup,Python,Beautifulsoup,我试着放弃一些电影评论和收视率,如果没有更多的评论和收视率,我试着结束这段代码 page = 1 #'variable' page blankList = [] while True: url = "http://movie.naver.com/movie/bi/mi/pointWriteFormList.nhn?code=99715&type=after&isActualPointWriteExecute=false&isMileageSubscription
page = 1 #'variable' page
blankList = []
while True:
url = "http://movie.naver.com/movie/bi/mi/pointWriteFormList.nhn?code=99715&type=after&isActualPointWriteExecute=false&isMileageSubscriptionAlready=false&isMileageSubscriptionReject=false&page={}".format(page)
res = requests.get(url)
bs = BeautifulSoup(res.text, "lxml")
valueList = bs.findAll("input",{'value':"{}"}).format(str(page))
###the upper code won't work when 'variable page' is bigger than 'maximum page'. if so, it returns blank List.
page = page + 1
score_result = bs.find("div", {'class': 'score_result'})
for review_one in score_result.findAll('li'):
score = int(review_one.find("div", {'class': 'star_score'}).find('em').text)
reple = review_one.find('div',{'class': 'score_reple'}).find('p')
for span in reple.findAll('span'):
span.extract()
reple = reple.text
print("reple: {}, score: {}".format(reple, score))
if (valueList == blankList):
break
所以我的问题很简单。你可能知道这部分不行
valueList = bs.findAll("input",{'value':"{}"}).format(str(page))
假设最大页码为100,当我在变量页面中输入20时
这部分并没有问题,当我尝试在这里输入20个真实的页码时
valueList = bs.findAll("input",{'value':"{}"}).format(str(page))
它将返回此列表
['input id="page" name="page" type="hidden" value="20"/>]
但是当我试着在两个中都输入200
第一个代码不会显示错误,但是
valueList = bs.findAll("input",{'value':"{}"}).format(str(page))
它返回空白列表,因为没有页码200
我需要的是:
提取此列表中value的值,并将其设置为变量。
在这个列表中,我需要的是87
['input id=page name=page type=hidden value=87/>]
或
是否有任何可能的方法将变量放入findAll函数中
当我运行此代码时,会弹出此列表
bs.findAllinput:
['input type=hidden name=onlyActualPointYn id=onlyActualPointYn value=N>,'input type=hidden name=movieCode id=movieCode value=99715>,'input type=hidden name=order id=order value=SymphonyScore>,'input type=hidden name=page value=75>,'input type=hidden name=point id=point value=0>]
请按以下所述更改线路
valueList = bs.findAll("input",{'value':"{}".format(str(page))})
此程序不会退出,因为每个页码都是此url的有效页码。如果你有五个777,它也是一个有效的页码。您可以在浏览器中尝试
输出:
reple: 이영화 시사회에서 봤는데 15세는 진짜 말이 안된다. 그래도 엄청 재밌습니다. , score: 10
reple: 이영화 시사회에서 봤는데 15세는 진짜 말이 안된다. 그래도 엄청 재밌습니다. , score: 10