python3爬虫学习之urllib库实战爬取网站

目的:熟悉并使用urllib,了解实际爬取时需要注意的事项

以爬取拉勾网为例

进入拉勾网,搜索python,拿到上面的url

上代码

from urllib import request,parse

url = "https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput="

headers = {
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) '
                  'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Mobile Safari/537.36',
    'Referer':'https://www.lagou.com/'
}
data = {
    'first':'true',
    'pn':1,
    'kd':'python'
}
resp = request.Request(url,headers=headers,data=parse.urlencode(data).encode('utf-8'),
                       method='GET')
result = request.urlopen(resp)
print(result.read().decode('utf-8'))

因为拉钩具有一定程度的反爬虫机制,以它为例讲解注意事项

一:定制头部信息,"User-Agent"可以帮助爬虫伪装成浏览器请求页面,如果你没有"Referer",可能会这样:

或者出现提醒

“您操作太频繁,请稍后再试”

如果你定制了这些,依旧无法爬取,在网页任意位置右键点击检查后,来到这里

继续添加头部信息,或者更换ip和cookie

二:

当你爬取失败时,请一定检查该网站是get请求还是post请求

三:

data信息参照于headers信息

四:

如果爬取下来的是乱码,就需要借助于encode和decode

五:

此时爬取的页面可读性极低,也很难获取重要信息,后续会了解到信息提取的几种方式,在茫茫千万英文与中文与符号的海洋中获取堪比黄金的信息

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值