python3爬取豆瓣电影Top 250

爬取豆瓣电影Top 250(图片、排名、名字、作者、评语)

(1)导入包

import requests
from bs4 import BeautifulSoup
import re

(2)发送请求

headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'
    }
    res=requests.get(url,headers=headers)
    print(res.status_code)

添加headers请求头模拟用户

并打印状态码

(3)获取页面

 headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'
    }
    res=requests.get(url,headers=headers)
    print(res.status_code)
    print(res.text)

python3爬取豆瓣电影Top 250_第1张图片

(4)解析页面

python3爬取豆瓣电影Top 250_第2张图片

可以发现所有的信息都在类名为item的div标签中

通过BeautifulSoup找到所有的div

再便利得来的div,使用正则匹配处需要的信息

(5)数据存储

这次数据无用,所以没有存储。

(6)源码

#-*- coding:utf-8 -*-
# author:Air
# software: PyCharm
#学习交流qq群:916696436

import requests
from bs4 import BeautifulSoup
import re

def gethtml(url):
    headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'
    }
    res=requests.get(url,headers=headers)
    print(res.status_code)
    soup=BeautifulSoup(res.text,'html.parser')
    data=soup.find_all('div',attrs={'class':'item'})

    for i in data:
        i=str(i)
        infomatin_list=[]

        #图片
        pic_pertern=re.compile(r'
.*?',re.S) pic=re.findall(pic_pertern,i) #排名 num_pertern=re.compile(r'(.*?)',re.S) num=re.findall(num_pertern,i) #名字 name_pertern=re.compile(r'(.*?)',re.S) name=re.findall(name_pertern,i) #作者 director_pertern=re.compile(r'

(.*?)

',re.S) director=re.findall(director_pertern,i) #名言 quote_pertern=re.compile(r'(.*?)') quote=re.findall(quote_pertern,i) if len(quote)>0: infomatin_list.append(pic[0]) infomatin_list.append(num[0]) infomatin_list.append(name[0]) infomatin_list.append(director[0]) infomatin_list.append(quote[0]) print(infomatin_list) for i in range(0,10): url='https://movie.douban.com/top250?start='+str(i*25) gethtml(url)

 

你可能感兴趣的:(python3爬取豆瓣电影Top 250)