python怎么爬取电影海报_Python 爬虫“王者”:豆瓣海报爬取

我这里就以女神王祖贤的海报来作为例子。

翻页分析

在豆瓣电影中搜索“王祖贤”,进入王祖贤主页后,点击全部影人图片,进入到影人图片页面。

在该页面点击下一页,可以看到浏览器的 URL 变化如下:

https://movie.douban.com/celebrity/1166896/photos/?type=C&start=30&sortby=like&size=a&subtype=a

继续使用 Postman 来分析 URL,可以很轻松的得知,start 就是类似于 page 的页数控制参数,而且步长为 30,即第一页是 start = 0,第二页为 start = 30,第三页为 start = 60,以此类推。

详情页分析

使用 Network 来查看页面上的图片信息:

这里我们得到了两个信息:

a 标签中的链接可以得到每张图片的评论信息;

img 标签中的链接可以用来保存女神的海报。

对于这两个信息 url,可以分别返回:

'''

更多Python学习资料以及源码教程资料,可以在群821460695 免费获取

'''

def get_posters():

comment_url_list = []

picture_list = []

for i in range(0, 40000, 30):

url = 'https://movie.douban.com/celebrity/1166896/photos/?type=C&start=%s&sortby=like&size=a&subtype=a' % str(i)

req = requests.get(url).text

content = BeautifulSoup(req, "html.parser")

chekc_point = content.find('span', attrs={'class': 'next'}).find('a')

if chekc_point != None:

data = content.find_all('div', attrs={'class': 'cover'})

for k in data:

ulist = k.find('a')['href']

plist = k.find('img')['src']

comment_url_list.append(ulist)

picture_list.append(plist)

else:

break

return comment_url_list, picture_list

之后,就可以下载海报了。

评论获取

然后我们手动跳转到每周海报的详情页面,继续查看评论信息。

通过 BeautifulSoup 可以很容易地获得评论信息,然后保存到 MongoDB 中。

def get_comment(comment_l):

client = pymongo.MongoClient('mongodb://douban:douban1989@ds149744.mlab.com:49744/douban')

db = client.douban

mongo_collection = db.comment

comment_list = []

comment = []

print("Save to MongoDB")

for i in comment_l:

response = requests.get(i).text

content = BeautifulSoup(response, "html.parser")

tmp_list = content.find_all('div', attrs={'class': 'comment-item'})

comment_list = comment_list + tmp_list

for k in comment_list:

tmp_comment = k.find('p').text

mongo_collection.insert_one({'comment': tmp_comment})

comment.append(tmp_comment)

print("Save Finish!")

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值