处理JS分页加载的网页_recv

# # shark-pager-next
# # h3 class:ellipsis
# # span class:dy-num fr
# # shark-pager-disable-next
from selenium import webdriver
from bs4  import BeautifulSoup as bs
import unittest
class douyu(unittest.TestCase):
	#初始化方法
	def setUp(self):
		self.driver=webdriver.PhantomJS()
		self.count=0
	#测试方法必须有text字样开头
	def testdouyu(self):
		self.driver.get("https://www.douyu.com/directory/all")
		while True:
			soup=bs(self.driver.page_source,"lxml")
			#房间名,返回列表
			names=soup.find_all("h3",{"class":"ellipsis"})
			#观众人数,返回列表
			numbers=soup.find_all("span",{"class":"dy-num fr"})
			#zip(names,numbers)将names和numbers这两个列表合并为一个元组:[(1,2),(3,4)....]
			for name,number in zip(names,numbers):
				print ("观众人数: "+number.get_text().strip()+"  "+"\t房间名: "+name.get_text().strip()).encode("gb18030")
				self.count=self.count+1
			#如果在页面上源代码里面找到“下一页”为隐藏的标签,就退出循环(因为“下一页”就按不动例如)
			if self.driver.page_source.find("shark-pager-disable-next")!=-1:
				break;
			#一直点击下一页
			self.driver.find_element_by_class_name("shark-pager-next").click()
	#测试结束执行的方法
	def tearDown(self):
		print u"此网站的视频"+str(self.count)
		#退出PhantomJS浏览器
		self.driver.quit()
if __name__=="__main__":
	unittest.main()

爬斗鱼页面上每个房间,和每个房间的访问人数。每次按下一页的时候都要得到
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值