crawler碎碎念5 豆瓣爬取操作之登录练习
生活随笔
收集整理的這篇文章主要介紹了
crawler碎碎念5 豆瓣爬取操作之登录练习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import requestsimport html5libimport refrom bs4 import BeautifulSoups = requests.Session() #這里要提一點,就是session的話就是對會話的一種維持,因為request缺乏持續性,僅限于2個相鄰的頁面url_login = 'http://accounts.douban.com/login'url_contacts = 'https://www.douban.com/people/****/contacts'formdata = {'redir':'https://www.douban.com', #重定向'form_email':'t.t.panda@hotmail.com','form_password':'xxxxxxxxxxxxxx','login':u'登陸' }‘‘‘關于字符串前面的功能的補充1.r/R
表示非轉義的原始字符串,比如在字符串中如果出現\n是換行,但是如果在字符串的前面添加r則表示\和n兩個字符,一般常見于正則表達式中。2.b
Python3里默認的str是(Python2里的)unicode, bytes是(Python2)的str, b前綴代表的就是bytes。 Python2里, b前綴沒什么具體意義, 只是為了兼容Python3的這種寫法。3.u/U
表示unicode字符串 ,不是僅僅是針對中文, 可以針對任何的字符串,代表是對字符串進行unicode編碼。 一般英文字符在使用各種編碼下, 基本都可以正常解析, 所以一般不帶u;但是中文, 必須表明所需編碼, 否則一旦編碼轉換就會出現亂碼。 建議所有編碼方式采用UTF-8。’‘’headers = ' 這里自己打開開發者工具查看瀏覽器,復制粘貼就行了'r = requestys.post(url_login,data = formdata,headers= headers)content = r.textsoup = BeautifulSoup(content,'html5lib')captcha = soup.findall('img',id = 'captcha_image') #查看是否有驗證碼if captcha:captcha_url = captcha['src']re_captcha_id = r'<input type-"hidden"name="captcha-id" value = "(.*?)"/'captcha_id = re.findall(re_captcha_id,content)print(captcha_id)print(captcha_url)print(captcha_url)capycha_text = input('please input the captcha:')formdata['captacha-solution'] =captcha_textformdata['captacha-id'] =captcha_idr = requests.post(url_login,data = formdata,headers = headers)print(r.text)r = s.get(url_conteacts)with open('contacts.txt','w+',encoding = 'utf-8'') as f:
f.write(r.text)
headers = {........} cookies = {...........} url = 'xxxxxxxxxxxx'r= requests.get(url,cookies=cookies,headers = headers) print(r.text)with open('sssss.txt','wb+') as f :f.write(r.content)
這其實就是最基本的一個爬蟲套路模板了
?
但是我們也發現每一次登陸都要輸入密碼和賬戶,還要驗證,這也實在是太麻煩了,所以可以通過cookies,這就是我們常說的那些記住當前網址的密碼
import requestsheaders = {........} cookies = {...........} url = 'xxxxxxxxxxxx'r= requests.get(url,cookies=cookies,headers = headers) print(r.text)with open('sssss.txt','wb+') as f :f.write(r.content)
這其實就是最基本的一個爬蟲套路模板了
關于上面的那個爬蟲,爬出來的其實是驗證碼的圖片,還需要手動打開然后識別圖片里面的數字再手動輸入,這個其實也是很麻煩的
這里先給出思路以后驗證(如果還記得的呼哈)
1,利用selenium打開圖片所在網頁,保存這張圖片,把圖片讀取到百度識圖的api中,得到的答案自動反饋給程序
2,有一種設想,既然最后他要驗證你輸入的驗證碼對不對,那是不是圖片的網頁信息里面就夾雜著要比對的信息,那我是不是可以直接爬取這個然后反饋給程序?
3,要么索性偷個懶,鏈接掛到網上的驗證碼識別平臺(滑稽)
轉載于:https://www.cnblogs.com/xingnie/p/9703386.html
總結
以上是生活随笔為你收集整理的crawler碎碎念5 豆瓣爬取操作之登录练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [计蒜客]百度地图的实时路况
- 下一篇: Power BI新主页将使内容的导航和发