第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

從爬取一個網站開始,豐富python的知識點

標簽:
Python


本文从爬取拉勾网的数据开始,会结合后期的文章逐步完善python学习中的各种应用,包括爬虫、数据分析、自动化测试等(目前不考虑web)。希望有兴趣的同学一起多多交流。

读到此时,已默认电脑安装了python3.+ 。

一、环境:
python3.+
在IDLE中(pycharm也可)

二、目标:
爬取拉勾网的python相关职位信息。

三、思路:
当准备爬取某网站数据时,应明确一下思路,爬虫是使用程序模拟人的浏览器操作获取数据的过程。所有的操作都是围绕着请求与响应。

四、步骤:
1、打开拉勾网,在搜索框中输入python,如图:


webp

image.png


红框中的每一行就是一个个的项目信息,我们就是要爬取这些信息。

2、打开命令行,输入 pip install requests 安装requests库,用于网络请求


webp

image.png

在进入网页的时候,有人会使用Get方式请求,并将当前的网页直接作为目标url,会直接被服务器给pass掉,因为真实的浏览器在访问时一定会带有一些参数的,故而在请求方式与参数都不正确的情况下,服务器自然判定为爬虫,不会返回正确的数据。

3、此时,可按F12查看当前网页中的NetWork项,一般的前端在请求数据的过程,都是先请求个大的网页框架,然后在容器中进一步发送请求,才能获得容器内部的数据,一般会采用Ajax请求,所以可以点击XHR,找到其中的positionAjax查看真实的url、headers以及formData此三项。
如图:


webp

image.png

那么如何爬取呢?

打开python的IDLE:
按下Ctil + N进入编辑模式

注意:
使用IDEL需要先保存,再按F5运行。
为了更好的模仿浏览器去请求数据,在请求一次网页之后,我们给爬虫随机休眠一段时间。
我们所需要的数据就在上图中的Preview(Headers右边)中,如下图。


webp

虽然不是很清晰,但应该不影响阅读

所写爬虫代码如下:

#coding:gbkimport requests #导入网络请求库import random #导入随机数库#这才是真实的urlurl = 'https://www.lagou.com/jobs/positionAjax.json?city=%E5%8C%97%E4%BA%AC&needAddtionalResult=false'#请求头中的这些参数一般被用来做反爬的判断依据,每个人的User-Agent是不一样的the_headers = {    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',    'Referer':'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=',    'Host':'www.lagou.com',    'X-Anit-Forge-Code':'0',    'X-Anit-Forge-Token':None,    'X-Requested-With':'XMLHttpRequest'}#循环爬取30页的数据for pages in range(1,31):    #post请求中要带上一些参数
    the_data = {        'first':'true',        'pn':pages,        'kd':'python'
        }    #向服务器请求数据
    result = requests.post(url, headers = the_headers, data = the_data)

    jsonResult = result.json()    #我们想要的数据内容就从下面的关键字中一个层级一个层级的向下找
    json_result = jsonResult['content']['positionResult']['result']

    print(json_result)    #为了模拟真实的浏览器操作,需要不定时休眠
    random.randint(20,36)

print('所有页面爬取成功')

结果:

webp

image.png


如上图所示,已经爬取了很多页了,但是后面几页还是出了问题,问题在于休眠的时间设置的不够长,还是被服务器判别出了爬虫,因此不进行响应,只需要在休眠时间上放的更久即可,本程序中使用的休眠时间是20秒到36秒,可以尝试40秒到60.



作者:隰有荷
链接:https://www.jianshu.com/p/4a969fd81b5a


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
  • 推薦
  • 1
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消