AttributeError: module ‘request‘ has no attribute ‘Request‘ 怎么解决

学习豆瓣爬虫的时候,用到request的时候,一直报错下面这样
1

报错的代码(部分)


import request
import time
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
1
# 构造请求头信息
header = {
    'User-Agent':'Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5'
}
# URL规律

# https://www.douban.com/group/?start=0     第1页
# https://www.douban.com/group/?start=50    第2页     
#                                           start= (n-1)*50
# https://www.douban.com/group/?start=100   第3页

def loadpage(fullurl,filename):
    print('正在下载:',filename)
    req =request.Request(fullurl,headers=header) # 发出请求
    resp = urllib.request.urlopen(req).read()   #返回的信息
    return resp


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
网上搜的是因为导入模块格式不正确
应该是①
import urllib.request
要注意的是import的时候要导入的urllib.request,因为在python3.x中urllib中包含了urllib2等其他的类

②并且在调用的时候也要以urllib.request.urlopen(url)的形式调用

作者:dpengwang
链接:https://www.jianshu.com/p/d86facfd56d7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

改过之后成功!!!贴上完整的代码:

import urllib.request. #注意⚠️此处
import time
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
1
# 构造请求头信息
header = {
    'User-Agent':'Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5'
}
# URL规律

# https://www.douban.com/group/?start=0     第1页
# https://www.douban.com/group/?start=50    第2页   start= (n-1)*50
# https://www.douban.com/group/?start=100   第3页

def loadpage(fullurl,filename):
    print('正在下载:',filename)
    req = urllib.request.Request(fullurl,headers=header) # 发出请求   ⚠️写urllib.request.Request
    resp = urllib.request.urlopen(req).read()            #返回的信息
    return resp

def writepage(html,filename):
    print('正在保存:',filename)

    with open(filename,'wb') as f:

            f.write(html)

    print('----------------------------------------')

#构造URL
def douSpider(url,begin,end):
    for page in range(begin,end+1):

        pn = (page-1)*50
        fullurl = url +'start='+str(pn)   #每次请求的完整的URL
        filename = '/Users/yuan/Desktop/下载/第'+ str(page) +'页'+".html"      #文件下载的位置

        html = loadpage(fullurl,filename)   #爬取网页   找
        writepage(html,filename)            #把获取到的网页信息写入到本地下载的位置    保存


if __name__ =='__main__':
        begin = int(input('请输入起始页:'))
        end = int(input('请输入结束页:'))

        url = 'https://tieba.baidu.com/f?'
        
        douSpider(url,begin,end)
        time.sleep(6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
成功运行✅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值