吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4574|回复: 3
收起左侧

[Python 转载] [Scrape Center - ssr1]新手向静态页面爬虫

[复制链接]
三滑稽甲苯 发表于 2022-1-11 23:46
本帖最后由 三滑稽甲苯 于 2022-1-11 23:46 编辑

前言

题目地址:https://ssr1.scrape.center/
主网站地址:https://scrape.center/
这是一个专供爬虫练习的网站,里面有各种类型的题目。我们从最简单的第一个开始,这个题目没有任何反爬措施,并且是静态网页,抓包都不用了。

过程

打开页面,单击下一页,网址变为:https://ssr1.scrape.center/page/2
观察到一共有10页,于是使用for i in range(1, 10):来实现页数的遍历,使用f'{url}/page/{i}'(事先url = 'https://ssr1.scrape.center')拼接网址
F12审查元素,可以通过el-card__body这个class来遍历到所有的卡片
card.png
通过name定位电影名,通过a标签的href属性辅以url拼接定位详情页面的链接
name.png
通过categories定位一组标签,button定位各个标签
categories.png
通过info定位国家、时长、上映时间
info.png
通过score定位评分(这里需要数据清洗,因为直接获取text属性的话前面会有回车和空格)
score.png

完整代码

from requests import Session
from bs4 import BeautifulSoup as bs
from time import time

start = time()
x = Session()
url = 'https://ssr1.scrape.center'
for i in range(1, 10):
    r = x.get(f'{url}/page/{i}')
    soup = bs(r.text, 'html.parser')
    cards = soup.find_all('div', class_='el-card__body')
    print(f'Page {i}/10')
    for card in cards:
        print()
        print(' ', card.h2.text)
        tags = card.find('div', class_='categories').find_all('span')
        print('  Score:', card.find('p', class_='score').text[-3:])
        print('  Tags:', ' '.join([tags[i].text for i in range(len(tags))]))
        infos = card.find_all('div', class_='info')
        spans = infos[0].find_all('span')
        print('  Country:', spans[0].text)
        print('  Duration:', spans[2].text)
        print('  Release date:', infos[1].text[-1:-3])
        print('  Link:', url + card.find('a', class_='name')['href'])
    print()
print(f'Time used: {time() - start}s')

效果图

result.png

免费评分

参与人数 1吾爱币 +7 热心值 +1 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

mzhsohu 发表于 2022-1-12 00:00
虽然看不懂,感谢分享~!
tqp 发表于 2022-1-12 09:46
shihdhr 发表于 2022-1-13 11:26
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 09:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表