老程序如何python代码爬取豆瓣热度Top100以内的电影信息

本文介绍了如何使用Python爬虫抓取豆瓣Top100电影的基本信息,如名称、评分、导演等。通过分析目标网页,利用Chrome开发者工具找到API,结合urllib、lxml和json等库实现数据抓取。文章详细阐述了爬虫的分析、实现过程,并提供了代码示例。
摘要由CSDN通过智能技术生成

@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府

概述

这是一个简单的python爬虫程序,仅用作技术学习与交流,主要是通过一个简单的实际案例来对网络爬虫有个基础的认识。

什么是网络爬虫

简单的讲,网络爬虫就是模拟人访问web站点的行为来获取有价值的数据。专业的解释:百度百科

分析爬虫需求

确定目标

爬取豆瓣热度在Top100以内的电影的一些信息,包括电影的名称、豆瓣评分、导演、编剧、主演、类型、制片国家/地区、语言、上映日期、片长、IMDb链接等信息。

分析目标

1.借助工具分析目标网页

首先,我们打开豆瓣电影·热门电影,会发现页面总共20部电影,但当查看页面源代码当时候,在源代码中根本找不到这些电影当信息。这是为什么呢?原来豆瓣在这里是通过ajax技术获取电影信息,再动态的将数据加载到页面中的。这就需要借助Chrome的开发者工具,先找到获取电影信息的API。
在这里插入图片描述

2.然后对电影详情页进行分析

在这里插入图片描述

思路分析

在这里插入图片描述

具体实现

开发环境

python3.6

pycharm

主要依赖库

urllib – 基础性的网络相关操作

lxml – 通过xpath语法解析HTML页面

json – 对通过API获取的JSON数据进行操作

re – 正则操作

代码实现

from urllib import request
from lxml import etree
import json
import re
import ssl
 
 
# 全局取消证书验证
ssl._create_default_https_context = ssl._create_unverified_context
 
 
def get_headers():
  """
  返回请求头信息
  :return:
  """
  headers = {
   
    'User-Agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) "
           "AppleWebKit/537.36 (KHTML, like Gecko) "
           "Chrome/65.0.3325.181 Safari/537.36"
  }
  return headers
 
 
def get_url_content(url):
  """
  获取指定url的请求内容
  :param url:
  :return:
  "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值