百度贴吧爬虫简单实践及其错误集锦

本来这个难度很小,没借助框架,自己却写了很久,犯了很多错,话不多说,

直接上代码:

# -*- coding: utf-8 -*-
import urllib
import os
import ssl
ssl._create_default_https_context = ssl._create_unverified_context   
url='https://tieba.baidu.com/f?&ie=utf-8'

kw=input('请输入吧名:')
pfn=input('请输入开始页:')
pln=input('请输入结束页:')
pfn=int(pfn)
pln=int(pln)
dir='E:/'
filename=dir+kw
if not os.path.exists(filename):
    os.mkdir(dir+kw)
for x in range(pfn,pln+1):
    print('第'+str(x)+'页开始下载。。。。。')
    data0={
      'kw':kw,
      'pn':50*(x-1)
      }
    data1=urllib.parse.urlencode(data0) 
    total_url=url+data1
    response=urllib.request.urlopen(total_url)
    with open(filename+'/'+kw+'_'+str(x)+'.html','wb')as f:
        f.write((response.read()))
    print('第'+str(x)+'页下载结束。。。。。')

看下效果:


请输入吧名:刘备

请输入开始页:1

请输入结束页:5
第1页开始下载。。。。。
第1页下载结束。。。。。
第2页开始下载。。。。。
第2页下载结束。。。。。
第3页开始下载。。。。。
第3页下载结束。。。。。
第4页开始下载。。。。。
第4页下载结束。。。。。
第5页开始下载。。。。。
第5页下载结束。。。。。

当然这些网页都是能够打开的

现在回顾一下犯了哪些低级错误: 

1)错误1

HTTP Error 403: Forbidden

在进行爬虫的时候,未加入各种请求头,因此很容易被反爬虫给识别我们是Python程序而不是浏览器

因此需要手动添加:

https://blog.csdn.net/zhou_438/article/details/85035842

2)错误2

print3必须要带括号

https://blog.csdn.net/zhou_438/article/details/85036832

3)错误3

headers不可以省略的

https://blog.csdn.net/zhou_438/article/details/85037196

4)错误4

忘了加上一个item(),因为字典是迭代器对象,无法直接进行用

https://blog.csdn.net/zhou_438/article/details/85037196

5)错误5

居然给一个操作的结果进行赋值

https://blog.csdn.net/zhou_438/article/details/85039555

6)错误6

write居然能拼写错误

https://blog.csdn.net/zhou_438/article/details/85040162

7)错误7

SSL错误

https://www.cnblogs.com/lykbk/p/ASDFQAWQWEQWEQWEQWEQWEQWEQEWEQW.html

8)错误8

mkdir拼写成makedir,心想makedirs是创建多级目录。。。。

9)错误9

路径拼写错误

OSError: [Errno 22] Invalid argument: 'E://E:/2/0.html'

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值