Python 爬蟲-模擬登入知乎-爬取拉勾網職位資訊
用Python寫爬蟲是很方便的,最近看了xlzd.me的文章,他的文章寫的很到位,提供了很好的思路。因為他的文章部分程式碼省略了。下面是基於他的文章的三個程式碼片段:
基於Python3,Python2的話需要修改下input輸入函式和print的用法。
- 爬取豆瓣電影top250
- 爬取拉勾網職位資訊
- 模擬登陸知乎
- 為什麼沒人給我點贊。?!
有些程式碼做了更改。其中把獲取的資料儲存到excel中。關於存取資料到excel可以看我的另一篇文章:。
用到的庫
- requests
- Beautiful Soup
- openpyxl
1. 爬取豆瓣電影top250,存到excel表格中
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | #!/usr/bin/env python# encoding=utf-8import requests,reimport codecsfrom bs4 import BeautifulSoupfrom openpyxl import |
結果如下:
2. 爬取拉勾網Python職位資訊
職位資訊儲存在json中,獲取到json物件,再從中遍歷出公司名、地址、待遇等資訊。
Python12345678910111213141516171819202122232425262728293031323334353637 | importrequestsfromopenpyxl importWorkbookdefget_json(url,page,lang_name):data={'first':'true','pn':page,'kd':lang_name}json=requests.post(url,data).json()list_con=json['content']['positionResult']['result']info_list=[]foriinlist_con:info=[]info.append(i['companyShortName'])info.append(i['companyName'])info.append(i['salary'])info.append(i['city'])info.append(i['education'])info_list.append(info)returninfo_listdefmain():lang_name=input('職位名:')page=1url='http://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'info_result=[]whilepage<31:info=get_json(url,page,lang_name)info_result=info_result+infopage+=1wb=Workbook()ws1=wb.activews1.title=lang_nameforrow ininfo_result:ws1.append(row)wb.save('職位資訊.xlsx')if__name__=='__main__':main() |
執行結果:
3. 模擬登入知乎
通過開發者工具,獲取post的資料。
12345678910111213141516171819202122232425 | import requests,timefrom bs4 import BeautifulSoupdef get_captcha(data):with open('captcha.gif','wb')asfp:fp.write(data)returninput('輸入驗證碼:')def login(username,password,oncaptcha):sessiona=requests.Session()headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0'}_xsrf=BeautifulSoup(sessiona.get('https://www.zhihu.com/#signin',headers=headers).content,'html.parser').find('input',attrs={'name':'_xsrf'}).get('value')captcha_content=sessiona.get('https://www.zhihu.com/captcha.gif?r=%d&type=login'%(time.time()*1000),headers=headers).contentdata={"_xsrf":_xsrf,"email":username,"password":password,"remember_me":True,"captcha":oncaptcha(captcha_content)}resp=sessiona.post('https://www.zhihu.com/login/email',data,headers=headers).contentprint(resp)returnresp if__name__=="__main__":login('your_email','your_password',get_captcha) |
執行後會在執行目錄下得到驗證碼圖片:
輸入驗證碼後得到如下響應結果表明登入成功。
相關推薦
Python 爬蟲-模擬登入知乎-爬取拉勾網職位資訊
用Python寫爬蟲是很方便的,最近看了xlzd.me的文章,他的文章寫的很到位,提供了很好的思路。因為他的文章部分程式碼省略了。下面是基於他的文章的三個程式碼片段: 基於Python3,Python2的話需要修改下input輸入函式和print的用法。 爬取豆瓣電影top250 爬取拉勾網職位資訊 模擬
【圖文詳解】scrapy爬蟲與動態頁面——爬取拉勾網職位資訊(1)
5-14更新 注意:目前拉勾網換了json結構,之前是content - result 現在改成了content- positionResult - result,所以大家寫程式碼的時候要特別注意加上
【圖文詳解】scrapy爬蟲與動態頁面——爬取拉勾網職位資訊(2)
上次挖了一個坑,今天終於填上了,還記得之前我們做的拉勾爬蟲嗎?那時我們實現了一頁的爬取,今天讓我們再接再厲,實現多頁爬取,順便實現職位和公司的關鍵詞搜尋功能。 之前的內容就不再介紹了,不熟悉的請一定要去看之前的文章,程式碼是在之前的基礎上修改的
Scrapy爬取拉勾網職位資訊
很多網站都用了一種叫做Ajax(非同步載入)的技術,通常我們會發現這種網頁,打開了,先給你看上面一部分東西,然後剩下的東西再慢慢載入,也就是區域性載入。所以你可以看到很多網頁,瀏覽器中的網址沒變,但是資料照樣是可以更新的。這對我們正確爬取資料造成了一定影響,我們
python爬蟲——模擬登入教務系統爬取成績
主要思路 1.模擬登入到教務處,獲取登入的cookie值,用獲取到的cookie值,訪問成績的網址,分析成績頁面,獲取成績資訊。 2.打包成exe檔案,方便使用 ,我們可以用自己寫的程式快速查詢我們的成績,速度要比正常登入教務處網址查詢快很多,也比超級課程表
爬蟲學習之17:爬取拉勾網網招聘資訊(非同步載入+Cookie模擬登陸)
很多網站需要通過提交表單來進行登陸或相應的操作,可以用requests庫的POST方法,通過觀測表單原始碼和逆向工程來填寫表單獲取網頁資訊。本程式碼以獲取拉勾網Python相關招聘職位為例作為練習。開啟拉鉤網,F12進入瀏覽器開發者工具,可以發現網站使用了A
python爬蟲: 爬取拉勾網職位並分析
0. 前言 本文從拉勾網爬取深圳市資料分析的職位資訊,並以CSV格式儲存至電腦, 之後進行資料清洗, 生成詞雲,進行描述統計和迴歸分析,最終得出結論. 1. 用到的軟體包 Python版本: Python3.6 requests: 下載網
用python爬取拉勾網招聘資訊並以CSV檔案儲存
爬取拉勾網招聘資訊 1、在網頁原始碼中搜索資訊,並沒有搜到,判斷網頁資訊使用Ajax來實現的 2、檢視網頁中所需的資料資訊,返回的是JSON資料; 3、條件為北京+資料分析師的公司一共40087家,而實際拉勾網展示的資料只有 15條/頁 * 30頁 = 450條,所以需要判斷
Python爬取拉勾網招聘資訊存入資料庫
先抓包分析我們想要獲取的資料,很明顯都是動態資料,所以直接到Network下的XHR裡去找,這裡我們找到具體資料後,就要去尋分析求地址與請求資訊了。還有需要提交的表單資訊分析完畢之後,我們就可以開始寫我們的爬蟲專案了。一.編寫Itemitem編寫比較簡單# 拉鉤職位資訊 cl
Python爬取拉勾網招聘資訊
此程式碼執行建議Python3,省卻中文編碼的麻煩 遇到的幾個問題: (1)拉鉤網的資料是通過js的ajax動態生成,所以不能直接爬取,而是通過post’http://www.lagou.com/jobs/positionAjax.json?needAddt
Python爬取拉勾網招聘資訊並可視化分析
需求: 1:獲取指定崗位的招聘資訊 2:對公司地區,公司待遇,學歷情況,工作經驗進行簡單分析並可視化展示 視覺化分析: 公司地區:柱狀圖,地圖 公司待遇:雲圖 公司-學歷情況:餅圖 公司工作經
Python scrapy 爬取拉勾網招聘資訊
週末折騰了好久,終於成功把拉鉤網的招聘資訊爬取下來了。現在總結一下! 環境: windows 8.1 + python 3.5.0 首先使用 scrapy 建立一個專案: E:\mypy> scrapy startproject lgjob 建立後目錄結構:
HttpClient爬取拉勾網招聘資訊
1.匯入jar包 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>htt
scrapy抓取拉勾網職位資訊(一)——scrapy初識及lagou爬蟲專案建立
本次以scrapy抓取拉勾網職位資訊作為scrapy學習的一個實戰演練 python版本:3.7.1 框架:scrapy(pip直接安裝可能會報錯,如果是vc++環境不滿足,建議直接安裝一個visual studio一勞永逸,如果報錯缺少前置依賴,就先安裝依賴) 本篇
scrapy抓取拉勾網職位資訊(四)——對欄位進行提取
上一篇中已經分析了詳情頁的url規則,並且對items.py檔案進行了編寫,定義了我們需要提取的欄位,本篇將具體的items欄位提取出來 這裡主要是涉及到選擇器的一些用法,如果不是很熟,可以參考:scrapy選擇器的使用 依舊是在lagou_c.py檔案中編寫程式碼 首先是匯入Lag
python爬蟲模擬登陸知乎網
自從暑假學了大概一個月左右的爬蟲,開學之後就沒怎麼搞爬蟲了,當時也就學到scrapy框架就放下了,大致瞭解了一下框架,不是太理解,但是在這之前本人的爬蟲水平也僅僅侷限於爬取簡單頁面,爬取動態頁面也稍微瞭解下,但是一直沒有學模擬登陸,因為當時怎麼也搞不懂模擬登陸是
Python爬蟲:爬取拉勾網資料分析崗位資料
1 JSON介紹 JSON(JavaScript Object Notation)已經成為通過HTTP請求在Web瀏覽器和其他應用程式之間傳送資料的標準格式之一。比CSV格式更加靈活。Json資料格式,非常接近於有效的Pyhton程式碼,其特點是:JSON物件所
python爬蟲學習筆記分析Ajax爬取果殼網文章
有時在使用requests抓取頁面會遇到得到的結果與在瀏覽器 中看到的結果不一樣,在瀏覽器檢查元素中可以看到的正常的顯示的網頁資料,但是requests請求得到的結果卻沒有。這是因為requests請求得到的時原始的html文件,而瀏覽器中的介面確實經過JavaScript處理資料生成的結果
python爬蟲(16)使用scrapy框架爬取頂點小說網
本文以scrapy 框架來爬取整個頂點小說網的小說 1.scrapy的安裝 這個安裝教程,網上有很多的例子,這裡就不在贅述了 2.關於scrapy scrapy框架 是一個非常好的東西,能夠實現非同步爬取,節省時間,其實本文純粹的按照之前的思維來做, 也不是不可以,但是感
Python 爬蟲入門-爬取拉勾網實戰
這幾天學習了 python 爬蟲的入門知識,也遇到很多坑,開個貼記錄一下 基本原理 Python 爬蟲基本要具備以下功能:(參考此回答) 向伺服器傳送請求,伺服器響應你的請求。(你可能需要了解:網頁的基本知識) 從抓取到的網頁中提取出需要