Python-静态网页示例-豆瓣电影Top250

Python 爬虫静态网页示例-豆瓣电影Top250

前期准备

网站信息

豆瓣官网TOP250:https://movie.douban.com/top250
在这里插入图片描述

  1. 打开网页,收集信息

  2. top250的电影分为10页

  3. F12打开控制台(笔记本Fn+F12)

  4. 获取站点,及浏览器伪装信息,一会代码需要用(下图已经用红框标出):
    在这里插入图片描述

  5. 在展开的详细信息中,复制下图的两点存起来备用,其中的url的start值在每次翻页后都会递增25:
    在这里插入图片描述
    – 此时翻到第二页,url中的start值变为25,记住这个点,代码中会用到:
    在这里插入图片描述

  6. 伪装信息也要留下来:
    在这里插入图片描述

代码部分

代码思路

  1. 涉及到爬取网页会用到requests包
  2. 需要解析为soup对象,会用到BeautifulSoup包
  3. 浏览器伪装信息
  4. 由于该网页不止一页,用循环进行请求
  5. 将获得的响应文件,解析为soup对象
  6. 从解析的内容中,获取我需要的信息

代码实现

1、导入两个需要的包(也可以在下面用到时alt+enter导包):

import requests
from bs4 import BeautifulSoup

2、浏览器伪装信息:

headers ={
   'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0'
   } #伪装浏览器

3、定义循环,确定每页的url:

  • 由于每次翻页url中的start值会增加25,代码处理如下:
  for i in range(0,10):
      url = 'https://movie.douban.com/top250?start='+str(i * 25)#根据网站控制台信息确定url

4、发送请求,解析响应文档:

r = requests.get(url,headers=headers,timeout=10)#提交申请访问
soup = BeautifulSoup(r.text,'lxml')#第一个参数是要转换的文件,第二个是解释器

5.提取我所需要的部分:

div_list = soup.find_all(name='div',attrs={"class":"hd"})
print(str(i+1),"页的返回状态码",r.status_code)
	for each in div_list:
    	movie =each.a.span.text.strip()
    	movie_list.append(movie)

5.整体代码:

import requests
from bs4 import BeautifulSoup

def movie_get():
 	movie_list =[]
 	headers ={ 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0'} #伪装浏览器
 	for i in range(0,10):
     	url = 'https://movie.douban.com/top250?start='+str(i * 25)#根据网站控制台信息确定url
    	r = requests.get(url,headers=headers,timeout=10)#提交申请访问
     	soup = BeautifulSoup(r.text,'lxml')
    	div_list = soup.find_all(name='div',attrs={"class":"hd"})
     	print(str(i+1),"页的返回状态码",r.status_code)
     	for each in div_list:
         	movie =each.a.span.text.strip()
         	movie_list.append(movie)
	 return movie_list
print(movie_get())

‘Snail 需要慢慢的走’

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值