用selenium爬取直播信息(1),JavaScript中的innerHTML、value属性

可以看到有标题,类型,姓名,以及热度,我们爬取这四个字段就行

然后滑到底部,这里的下一页是我们控制爬取页数的​

注意:当我们进入页面时,虽然有滚动条,但所有直播信息已经加载好,并不是通过滑动然后Ajax加载的,所以在代码中并不需要写滑动,直接提取就可以拿到整个页面的数据。

1.解析数据的函数


#解析数据的函数

def parse(self):

#强制等待两秒,等待页面数据加载完毕

sleep(2)

li_list = self.bro.find_elements_by_xpath(‘//*[@id=“listAll”]/section[2]/div[2]/ul/li’)

#print(len(li_list))

data_list = []

for li in li_list:

dic_data = {}

dic_data[‘title’] = li.find_element_by_xpath(‘./div/a/div[2]/div[1]/h3’).text

dic_data[‘name’] = li.find_element_by_xpath(‘./div/a/div[2]/div[2]/h2/div’).text

dic_data[‘art_type’] = li.find_element_by_xpath(‘./div/a/div[2]/div[1]/span’).text

dic_data[‘hot’] = li.find_element_by_xpath(‘./div/a/div[2]/div[2]/span’).text

data_list.append(dic_data)

return data_list

2.保存数据的函数


(1)保存为txt文本

#保存数据的函数

def save_data(self,data_list,i):

#在当前目录下将数据存为txt文件

with open(‘./douyu.txt’,‘w’,encoding=‘utf-8’) as fp:

for data in data_list:

data = str(data)

fp.write(data+‘\n’)

print(“第%d页保存完成!” % i)

(2)保存为json文件

#保存数据的函数

def save_data(self,data_list,i):

with open(‘./douyu.json’,‘w’,encodi

  • 19
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值