直播平台源代码,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抓取滚动加载的页面,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2021-11-03 在线直播系统源码,flutter 嵌套滑动实现
2021-11-03 直播系统平台搭建,控制键盘弹出收缩
2021-11-03 视频聊天室源码,android去掉tablayout指示器自带的下划线