大白baymax 发表于 2023-7-31 17:38

python之爬取豆瓣前250排名电影标题

本帖最后由 大白baymax 于 2023-7-31 17:46 编辑

爬取豆瓣前250排名的电影标题的13行代码。
通过 pip install requests 安装 requests 库 。



话不多说,直接上代码:
import requests
import re

headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.188"
}

for i in range(0,226,25):
    zxcvzx = f"https://movie.douban.com/top250?start={i}&filter="
    response = requests.get(zxcvzx, headers=headers)
    a = re.findall("<img width=\"100\" alt=\"(.*?)\"", response.text, re.S)
    for vbn in a:
      print(vbn)



作为PYTHON初学者,代码写的太烂,大佬们轻喷。

cnwutianhao 发表于 2023-8-1 09:30

优化了一下:
import requests
from bs4 import BeautifulSoup

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.188"
}

session = requests.Session()
session.headers.update(headers)


def get_movie_titles(url):
    response = session.get(url)
    soup = BeautifulSoup(response.content, "html.parser")
    movie_titles = soup.find_all("img", width="100", alt=True)
    return for title in movie_titles]


def main():
    for i in range(0, 226, 25):
      url = f"https://movie.douban.com/top250?start={i}&filter="
      movie_titles = get_movie_titles(url)
      for title in movie_titles:
            print(title)


if __name__ == "__main__":
    main()

优化点:
1. 使用 requests 库中的 Session 对象来通过复用连接和全局设置请求头来提高性能。
2. 使用 bs4 库中的 BeautifulSoup 来解析 HTML 内容,而不是使用正则表达式。

taya163 发表于 2023-7-31 20:16

从这刻开始,命运的齿轮已经转动,祝我们所有的技术小白都能找到属于自己的巅峰(我也是小白:lol)

taoyuanhang 发表于 2023-7-31 17:40

感谢分享!赞一个

wozuoyaoyaoche 发表于 2023-7-31 17:52

经典豆瓣,感觉好多爬虫的入门都是教的爬豆瓣电影

Xylitol 发表于 2023-7-31 17:56

哈哈哈当初我们刚学的时候就是这个课后作业:lol

feichu 发表于 2023-7-31 18:09

{:1_905:} 火车头 傻瓜式操作 百用百爽

shiquda 发表于 2023-7-31 18:16

我当时学习 python 的 request 也是用这个为例子,也可以用 beautifulsoup 解析 html 内容

yikeliuxing 发表于 2023-7-31 19:15

感谢分享,很有用

鹿鸣 发表于 2023-7-31 19:46

入门可以学习一下

w12171110 发表于 2023-7-31 20:24

学习到了谢谢分享
页: [1] 2 3 4 5
查看完整版本: python之爬取豆瓣前250排名电影标题