python抓取直播平台主播的直播封面和名字,求教大神,我还有救吗?

atencheung 发布于 2017/08/15 16:27
阅读 218
收藏 0

从虎牙颜值板块抓主播直播的封面图以及主播名称,问题:

1、为啥我抓的图有写无法打开

2、颜值页面点击下一页,为啥url没有变?我该怎么获取下一页的url,好费劲!我这个click方法我看着就好业余,好要打开个浏览器,最后还不好使,惭愧

3、大神指点一下吧,刚看了bs4 和requests的简介,很多函数都不知道,写的很业余,特别是这个结尾,我都感觉写的莫名其妙的。

import requests , os , bs4
from selenium import webdriver

url='http://www.huya.com/g/2168'
os.makedirs('huya', exist_ok=True)
Flag=True
while Flag:
	print('Downloading page%s'%url)
	res = requests.get(url)
	res.raise_for_status()
	soup = bs4.BeautifulSoup(res.text) 
	picElem=soup.select('.pic',img)
	#nicElem=soup.select('.nick')
	if picElem==[]:
		print('can not find pic image')
	else:
		for i in range(len(picElem)):
			picUrl=picElem[i].get('data-original')
			#mo=picUrl.split('?')
			#picUrl=mo[0]
			res1=requests.get(picUrl)
			res1.raise_for_status()
			name=picElem[i].get('title')
			imageFile=open(os.path.join('huya','%s.jpg'%name),'wb')
			for chunk in res1.iter_content(100000):
				imageFile.write(chunk)
			imageFile.close()

	browser = webdriver.Firefox()
	browser.get(url)
	linkElem=browser.find_element_by_link_text('下一页')
	if linkElem:
		linkElem.click()
		url=browser.current_url
	else:
		print('已到最后一页')
		Flag=False
print('Done')
	

 

加载中
0
开源中国-首席营养师

函数不懂得的,请使用百度。链接什么的抓不到或者感觉没有变,请使用Charles捕捉链接。

0
sami
sami

phantomjs 你值得拥有

返回顶部
顶部