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

五:

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

猜你喜欢

转载自blog.csdn.net/s_kangkang_A/article/details/88958908