爬虫小案例——爬取豆瓣电影

分析

https://movie.douban.com/j/new_search_subjects?sort=U&range=0,10&tags=%E7%94%B5%E5%BD%B1,%E9%9D%92%E6%98%A5&start=0&genres=%E5%89%A7%E6%83%85&countries=%E4%B8%AD%E5%9B%BD%E5%A4%A7%E9%99%86&year_range=2019,2019

sort=U 近期热门

S 评分最高

range=0,10 评分区间筛选

start=0 控制起始id

year_range=2019,2019 年份

tags 电影形式

genres 电影类型

country 国家

print(str('电影'.encode('utf-8')).strip("b'").upper().replace('\X', '%')) # %E7%94%B5%E5%BD%B1

 

代码

复制代码
from requests_html import HTMLSession

session = HTMLSession()

# 测试
url = 'https://movie.douban.com/tag/#/?sort=U&range=0,10&tags=2018'
r = session.get(url=url)
r.html.render()    # 调用render,启用浏览器内核,对浏览器进行渲染
# print(r.html.html)

movie_element_list = r.html.find('.list-wp a[class="item"]')
# print(movie_element_list)
for element in movie_element_list:
    movie_detail_url = element.attrs.get('href')                       # 电影详情页
    print(movie_detail_url)
    movie_img_url = element.find('img', first=True).attrs.get('src')   # 电影图片url
    print(movie_img_url)
    movie_name = element.find('[class="title"]', first=True).text      # 电影名字
    print(movie_name)
    print('-'*30)
复制代码

 

结果

 

posted @   困了就睡觉觉  Views(620)  Comments(0Edit  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示