python爬虫小案例(爬取豆瓣电影top250的电影信息)

(整个demo都是跟着视频敲的)
一、准备(流程)

  1. 访问指定URL
    需要导包:import urllib.request,urllib.error

  2. 爬取数据
    需要导包:import bs4

  3. 分析并保存数据
    需要导包:import xlwt #存放到Excel,进行Excel操作。或import sqlite3 #存放到数据库,进行SQLite3数据库操作

  4. 主调函数
    调用前面的函数

  5. 运行
    调用主调函数

二、分流程
1、访问指定的url
(1)导包

import urllib.request,urllib.error

(2)调用urllib.request.Request类构造请求信息
使用方法为:urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
在这里插入图片描述
详细用法:

from urllib import request, parse

url = 'http://httpbin.org/post'
headers = {
	'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)',
	'Host': 'httpbin.org'
}
dict = {
	'name': 'Germey'
}
data = bytes(parse.urlencode(dict), encoding='utf8')
response = request.Request(url=url, data=data, headers=headers, method='POST')
response = request.urlopen(req)
print(response.read().decode('utf-8'))


但在本项目只指定url和headers
本项目的用法:

head = {        #模拟浏览器头部信息,向豆瓣服务器发送信息
        "User-Agent": "Mozilla/5.0(Windows NT 10.0;Win64;x64) AppleWebKit/537.36(KHTML, likeGecko) Chrome / 83.0.4103.106Safari / 537.36"
    }  #用户代理,表示告诉豆瓣服务器,我们是什么类型的机器、浏览器(本质上市告诉浏览器)
request = urllib.request.Request(url,headers=head)

(3)使用urllib.request.urlopen()方法发起请求,并用把浏览器相应回来的数据以字符串的形式保存,在这里做个异常处理

    html = ""
    try:
        response = urllib.request.urlopen(request)
        html = response.read().decode('utf-8')
        #print(html)
    except urllib.error.URLError as e:
        if hasattr(e,"code"):
            print(e.code)
        if hasattr(e,"reason"):
            print(e.reason)

(4)返回值

return html

整个方法的代码如下:

import urllib.reques
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值