时间:2021-05-23
首先用开发者工具找到需要提取数据的标签列
利用xpath定位需要提取数据的列表
然后再逐个提取相应的数据:
保存数据到csv:
利用开发者工具找到下一页按钮所在标签:
利用xpath提取此标签对象并返回:
调用点击事件,并循环上述过程:
最终效果图:
代码:
from selenium import webdriverimport timeimport reclass Douyu(object): def __init__(self): # 开始时的url self.start_url = "https:///directory/all" # 实例化一个Chrome对象 self.driver = webdriver.Chrome() # 用来写csv文件的标题 self.start_csv = True def __del__(self): self.driver.quit() def get_content(self): # 先让程序两秒,保证页面所有内容都可以加载出来 time.sleep(2) item = {} # 获取进入下一页的标签 next_page = self.driver.find_element_by_xpath("//span[text()='下一页']/..") # 获取用于判断是否是最后一页的属性 is_next_url = next_page.get_attribute("aria-disabled") # 获取存储信息的所有li标签的列表 li_list = self.driver.find_elements_by_xpath("//ul[@class='layout-Cover-list']//li") # 提取需要的数据 for li in li_list: item["user-id"] = li.find_element_by_xpath(".//div[@class='DyListCover-userName']").text item["img"] = li.find_element_by_xpath(".//div[@class='DyListCover-imgWrap']//img").get_attribute("src") item['class-name'] = li.find_element_by_xpath(".//span[@class='DyListCover-zone']").text item["click-hot"] = li.find_element_by_xpath(".//span[@class='DyListCover-hot']").text item["click-hot"] = re.sub(r'\n','',item['click-hot']) # 保存数据 self.save_csv(item) # 返回是否有下一页和下一页的点击事件的标签, return next_page,is_next_url def save_csv(self,item): # 将提取存放到csv文件中的内容连接为csv格式文件 str = ','.join([i for i in item.values()]) with open('./douyu.csv','a',encoding='utf-8') as f: if self.start_csv: f.write("用户id,image,所属类,点击热度\n") self.start_csv = False # 将字符串写入csv文件 f.write(str) f.write('\n') print("save success") def run(self): # 启动chrome并定位到相应页面 self.driver.get(self.start_url) while True: # 开始提取数据,并获取下一页的元素 next_page,is_next = self.get_content() if is_next!='false': break # 点击下一页 next_page.click()if __name__=='__main__': douyu_spider = Douyu() douyu_spider.run()到此这篇关于python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解的文章就介绍到这了,更多相关python爬虫实现自动翻页爬取某鱼数据内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
介绍本文将展示如何利用Python爬虫来实现诗歌接龙。该项目的思路如下:利用爬虫爬取诗歌,制作诗歌语料库;将诗歌分句,形成字典:键(key)为该句首字的拼音,值
Python爬虫不仅仅可以爬取静态网页,也可以爬取抓取动态网页。但是新版的Selenium不支持PhantomJS,无法进行动态网页的爬取,因此要放弃Phant
扫描器需要实现的功能思维导图爬虫编写思路首先需要开发一个爬虫用于收集网站的链接,爬虫需要记录已经爬取的链接和待爬取的链接,并且去重,用Python的set()就
本文实例讲述了Python实现爬虫爬取NBA数据功能。分享给大家供大家参考,具体如下:爬取的网站为:stat-nba.com,这里爬取的是NBA2016-201
聊一聊Python与网络爬虫。1、爬虫的定义爬虫:自动抓取互联网数据的程序。2、爬虫的主要框架爬虫程序的主要框架如上图所示,爬虫调度端通过URL管理器获取待爬取