直播平台源代码,Scrapy抓取滚动加载的页面

直播平台源代码,Scrapy抓取滚动加载的页面

编写spider

 

1
打开qqmovie.py<br>import scrapy<br>from movies.items import MoviesItem<br> <br>class QqmovieSpider(scrapy.Spider):<br>    name = 'qqmovie'<br>    allowed_domains = ['v.qq.com']<br>    # 抓取开始的URL<br>    start_urls = ['https://v.qq.com/channel/movie?listpage=1&channel=movie&itype=100004']<br>    # 偏移标志位<br>    offset = 0<br>    <br>    def parse(self, response):<br>        # 通过class=list_item的div标签提取数据<br>        movies = response.xpath('//div[@class="list_item"]')<br>        for i in movies:<br>            item = MoviesItem()<br>            # 提取<a>标签的title作为名称<br>            item['name'] = i.xpath('./a/@title').get()<br>            # 提取<div>标签的title作为主演<br>            item['starring'] = i.xpath('./div/div/@title').get()<br>            yield item<br>        <br>        mod_page = response.xpath('//div[@class="mod_pages"]')<br>        # 按下一页按钮的正常class提取,提取不到说明翻页到头了<br>        next_page = mod_page.xpath('//button[@class="page_next "]').extract_first('not found')<br>        if next_page != 'not found':<br>            # 原有网页的逻辑是一页30条数据<br>            self.offset += 30<br>            url = 'https://v.qq.com/x/bu/pagesheet/list?append=1&channel=movie&itype=100004&listpage=2&offset={}&pagesize=30'.format(str(self.offset))<br>            yield scrapy.Request(url=url, callback=self.parse)<br>        else:<br>            print('数据抓取完毕')

以上就是 直播平台源代码,Scrapy抓取滚动加载的页面,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2021-11-03 在线直播系统源码,flutter 嵌套滑动实现
2021-11-03 直播系统平台搭建,控制键盘弹出收缩
2021-11-03 视频聊天室源码,android去掉tablayout指示器自带的下划线
点击右上角即可分享
微信分享提示