爬虫-Day1-爬取豆瓣经典电影

爬虫-Day0-爬取豆瓣经典电影

网页基础

网页由 HTML、CSS、JS 三部分组成。

  • HTML:整个网页的骨架

    HTML中所有的标签定义的内容都是节点,形成一个 HTML DOM 树

  • CSS:装饰网页,为网页带来样式

    CSS 使用选择器来定位

    • id #
    • class .
  • JavaScript:让网“页”动起来,以便交互和展示

爬虫基本流程

爬虫就是自动化获取网页数据并提取数据进行保存的自动化程序,流程分为:

  • 获取网页

    使用 request 和 urllib 获取网页时代码和实际代码可能会有差别,这是因为现在大多网页采用js来进行一步步的渲染,不断请求服务器获取数据填充渲染进网页,原有获取的代码只是一个空壳框架

  • 提取信息

  • 保存数据

简单实践-爬取豆瓣电影

import requests

def get_data(url, page_start, page_limit):
    headers = {
        'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'
    }# 告诉服务器请求访问的是客户端是什么
    data = {
        'type':'movice',
        'tag': '经典',
        'sort': 'recommend',
        'page_limit': page_limit,
        'page_start': page_start
    }
    response = requests.get(url, params=data, headers=headers)
    
    json_data = response.json()
    result = []
    for item in json_data['subjects']:
        print(item['title'])
def run():
    url = 'https://movie.douban.com/j/search_subjects'
    for i in range(5):
        get_data(url, i * 20, 20)

结果

肖申克的救赎 https://movie.douban.com/subject/1292052/
霸王别姬 https://movie.douban.com/subject/1291546/
阿甘正传 https://movie.douban.com/subject/1292720/
千与千寻 https://movie.douban.com/subject/1291561/
这个杀手不太冷 https://movie.douban.com/subject/1295644/
泰坦尼克号 https://movie.douban.com/subject/1292722/
盗梦空间 https://movie.douban.com/subject/3541415/
疯狂动物城 https://movie.douban.com/subject/25662329/
美丽人生 https://movie.douban.com/subject/1292063/
忠犬八公的故事 https://movie.douban.com/subject/3011091/
三傻大闹宝莱坞 https://movie.douban.com/subject/3793023/
海上钢琴师 https://movie.douban.com/subject/1292001/
楚门的世界 https://movie.douban.com/subject/1292064/
星际穿越 https://movie.douban.com/subject/1889243/
摔跤吧!爸爸 https://movie.douban.com/subject/26387939/
辛德勒的名单 https://movie.douban.com/subject/1295124/
寻梦环游记 https://movie.douban.com/subject/20495023/
大话西游之大圣娶亲 https://movie.douban.com/subject/1292213/
怦然心动 https://movie.douban.com/subject/3319755/

参考

  1. https://github.com/datawhalechina/team-learning/tree/master/Python%E7%88%AC%E8%99%AB%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5/task1
  2. https://github.com/Germey/Python3WebSpider/blob/master/2.3-%E7%88%AC%E8%99%AB%E5%9F%BA%E6%9C%AC%E5%8E%9F%E7%90%86.md

你可能感兴趣的:(爬虫,python)