Task 1

@python爬虫 爬取豆瓣Top250电影名

http请求方法

方法 功能
GET 向指定的资源发出“显示”请求。只用于读取数据:可能会被网络蜘蛛等随意访问。
PUT 向指定资源位置上传输最新内容。
HEAD 与GET方法一样;可以在不必传输内容的情况下,将获取到其中“关于该资源的信息
POST 向指定资源提交数据,请求服务器进行处理
DELETE 请求服务器删除Request-URL所标识的资源,或二者皆有。
TRACE 回显服务器收到的请求,主要用于测试或诊断。
OPTIONS 可使服务器传回该资源所支持的所有HTTP请求方法。用“*”来代表资源名称向Web服务器发送OPTIONS请求,可以测试服务器共能是否正常。
CONNECT 通常用于SSL加密服务器的连接(经由非加密的HTTP代理服务器)。方法名称是区分大小写的。当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Method Not Allowed),当服务器不认识或者不支持对应的请求方法的时候,应当返回状态码501(Not Implemented)

网页基础

  1. 网页是由 HTML 、 CSS 、JavaScript 组成的。
HTML 搭建整个网页的骨架
CSS 包括我们看到的颜色,每个模块的大小、位置等都是由 CSS 来控制的
JavaScript 网页的数据动态交互:网页上的动画

2.Elements 中可以看到网页的源代码
3.“Network”工具可以清楚地查看网页加载网络资源地过程和相关信息

图片 img
视频 video
段落 p
布局标签嵌套 div
JS style

Task 1_第1张图片


requests.get


以爬取豆瓣top250电影名为例

  1. 访问站点
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = 'https://movie.douban.com/top250'
res = requests.get(url)
text = res.text
text

 2. 定位所需信息

#构造分页数字列表
page_indexs = range(0, 250, 25)
list(page_indexs)
def download_all_htmls():
    """
    下载所有列表页面的HTML,用于后续的分析
    """
    htmls = []
    for idx in page_indexs:
        url = f"https://movie.douban.com/top250?start={idx}&filter="
        print("craw html:", url)
        r = requests.get(url,
                        headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)"})
        if r.status_code != 200:
            raise Exception("error")
        htmls.append(r.text)
    return htmls
#执行爬取
htmls = download_all_htmls()
htmls[0]

3.解析HTML得到数据

你可能感兴趣的:(python)