日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

[python]用request库来处理Http协议-收集北航表白墙内的数据

發(fā)布時間:2024/3/12 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [python]用request库来处理Http协议-收集北航表白墙内的数据 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近閱讀了《圖解Http》這本書.雖然名為“圖解”,可說實話里面的圖真是啥用都沒..不過書還是不錯的,兩個小時跳讀完后,對Http協(xié)議有了大概的了解..對于不搞前端開發(fā)的我,這些知識應該是夠用了。

繼續(xù)Python折騰之旅吧!

?


?

Requests is the only Non-GMO HTTP library for Python, safe for human consumption.

Warning: Recreational use of other HTTP libraries may result in dangerous side-effects, including: security vulnerabilities, verbose code, reinventing the wheel, constantly reading documentation, depression, headaches, or even death.

(摘錄自Requests官方文檔,我覺得這是Urllib被黑的最慘的一次233

1.分析

北航使用率最高的表白墻系統(tǒng)是一個名為”北航微生活“的微信公眾號(貌似很多大學都有相應的”XX微生活“公眾號,而且運營結構基本相同,不是很懂為什么…)。

因為微信公眾號平臺并不直接開放API,并且訪問有一套復雜的驗證機制,所以想要直接通過鏈接來抓取是很難的。網(wǎng)上用的比較多的做法是通過搜狗微信搜索http://weixin.sogou.com/的API來間接實現(xiàn)抓取.

這樣和以前做過的抓取北航教務新聞的爬蟲就差不多了.

但也不是完全一樣,還是有些區(qū)別的

  • 搜狗的頁面有訪問限制,未登陸的話只能訪問搜索結果的前10頁
  • 搜狗有反爬措施,頻繁的訪問會觸發(fā)驗證碼

本著不在一個小項目內(nèi)引入太多問題的原則,采取以下簡單可行但并不優(yōu)美的解決方案

  • 現(xiàn)在瀏覽器內(nèi)手動登陸,并保存Cookies,讓爬蟲帶著這個Cookies進行訪問
  • Time.Sleep

2.編碼與調(diào)試

Requests最大的優(yōu)勢就在于它簡介的語法..構造一個標準的Headers如此的簡單!

?

#_*_ coding: utf-8_*_ import requests import re import sys import time reload(sys) sys.setdefaultencoding('utf-8') Pattern_url = re.compile('^<a href="(.*?)" target="_blank" id="sogou_vr_11002601_title_." uigs_exp_id=',re.S|re.M) DatePattern=re.compile("<strong><span style='color:\ rgb\(112, 48, 160\); '>(.*?)</span>",re.S) DatePattern2=re.compile("</p><p>(.*?)</p><p><br />",re.S) DatePattern_Time=re.compile('<em id="post-date" class="rich_media_meta rich_media_meta_text">(.*?)</em>',re.S) subPattern_img=re.compile('<img data-ratio="1"(.*?)visibility: visible !important;">',re.S) subPattern_amp = re.compile('&amp;'); head={'Host':'weixin.sogou.com','User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0','Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Language':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3','Accept-Encoding':'gzip, deflate','Cookie':'CXID=E54348BDD19C7BE40D8BB78FB87F6F1D; ad=evR3vkllll2gKNh2lllllVk7aL1lllll3OhEfkllllwlllll9joll5@@@@@@@@@@; SUID=EABB5C2A4D6C860A577DDC8D000A87F0; IPLOC=CN1100; SUV=1467948688365866; GOTO=Af99046; ssuid=7968034436; sct=35; SNUID=40B49665595D1827AEE18BC259C7FBDA; pgv_pvi=7047098368; ABTEST=4|1478525186|v1; weixinIndexVisited=1; ppinf=5|1478526187|1479735787|dHJ1c3Q6MToxfGNsaWVudGlkOjQ6MjAxN3x1bmlxbmFtZToyOkNOfGNydDoxMDoxNDc4NTI2MTg3fHJlZm5pY2s6MjpDTnx1c2VyaWQ6NDQ6N0I0RERCQTBFM0EzRTU1NDNFQTMzMURCQUY3MDlEOTlAcXEuc29odS5jb218; pprdig=eQG4Qn0r5NFWN4NjVxwEDfQ5l3XxKlTziCwYn-FTxClrHYaMJ-b7KQoxebNoJbGZeIfeZHOsaLgP0KoEUdfMEaOo6KDb7BJiVF4o9I8saIUjIalujK5Xwr6fen4clOeGWRBJh4_oXzEhaLRzIf5l_Tyb1lrHYQDgdLZssGOEAeU; ld=Qs0bYZllll2YJbdwlllllVkHrF6lllll5G@Hpyllll9lllll9ylll5@@@@@@@@@@; ppmdig=1479459994000000988a368ffbfc7c85801f8b1c32470843; JSESSIONID=aaaPoOvx2NPOfdW2mjwFv; PHPSESSID=bjq68kgcqc3phod5j3eukcsie0; SUIR=40B49665595D1827AEE18BC259C7FBDA; pgv_si=s1257009152; seccodeErrorCount=1|Fri, 18 Nov 2016 09:14:27 GMT; successCount=1|Fri, 18 Nov 2016 09:14:34 GMT; LSTMV=887%2C229; LCLKINT=5042',} proxies = {"http": "http://116.252.158.157:8998", }print 'HELLO' for PAGE in range(1,35):print 'PAGE'+str(PAGE)SearchURL='http://weixin.sogou.com/weixin?query=%E5%8C%97%E8%88%AA%E8%A1%A8%E7%99%BD%E5%A2%99&_sug_type_=&sut=805&lkt=0%2C0%2C0&_sug_=y&type=2&sst0=1479460274521&page='+str(PAGE)+'&ie=utf8&w=01019900&dr=1'SearchResult = requests.get(SearchURL,headers=head)Obj=re.findall(Pattern_url,SearchResult.text)for i in Obj: url= re.sub(subPattern_amp,"&",i)page=requests.get(url)TIME=re.findall(DatePattern_Time,page.text)FILE=open(''.join(TIME)+'.txt', 'w')print ''.join(TIME)m=re.findall(DatePattern,page.text)if len(m):passelse:m=re.findall(DatePattern2,page.text)for k in m:DATE=re.sub(subPattern_img,"<EMOJI>",k)FILE.write(DATE)FILE.write('\n')time.sleep(10)

抓取的速度并不快...不過為了避免被反爬,只能這樣了。

3.后記

Python 真的是越來越有意思了..當然除了用各種各樣的庫實現(xiàn)有趣的功能外,我確實有必要加強一下Python的基礎語法..

基礎的玩兒法都會的差不多了..下一步該玩玩兒

  • 高效的數(shù)據(jù)清洗(Beautifulsoap Xpath xml…..)
  • 驗證碼自動處理(Tesseract,機器學習算法…)
  • 自動化測試(selenium2)
  • 更多Web理論知識(Javascript Jquery Css)
  • 數(shù)據(jù)庫技術(SQL)

希望盡快結束數(shù)據(jù)采集的練習。畢竟數(shù)據(jù)分析才是重頭戲

PS:鑒于各大高校的表白墻格式都差不多..這段代碼只需要改一下Cookie和Query字段值就能抓取別的大學的表白墻信息了..感覺要Get到不少數(shù)據(jù)呢

轉載于:https://www.cnblogs.com/cn-lhc/p/6079582.html

總結

以上是生活随笔為你收集整理的[python]用request库来处理Http协议-收集北航表白墙内的数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品一区网站 | 一级片视频免费看 | 白丝开裆喷水 | 日韩免费一级 | 天天躁日日躁狠狠躁av麻豆男男 | 亚洲爆爽 | 欧美拍拍 | 成人羞羞免费 | sm一区二区三区 | 日韩人妻精品一区二区 | 成人在线观看一区二区 | 粉嫩av一区二区三区免费观看 | 亚洲人xxx日本人18 | 色久阁 | 欧美特黄一级大片 | 久久国内| 在线国产一区二区 | 国产一区二区三区高清 | 拔插拔插海外华人永久免费 | 国产三级日本三级在线播放 | 久久99国产视频 | 亚洲伦理精品 | 中文字幕第31页 | 99久久久无码国产精品免费 | 911精品国产一区二区在线 | 亚洲 小说区 图片区 | 亚洲免费综合 | 亚洲伊人色 | 中日韩男男gay无套 人人草人人干 | av美女在线 | 中文字幕av在线免费观看 | 久久99国产精品视频 | 亚洲日批| 91久久国产综合久久 | 99久久99| 大地av| 国产精品久久不卡 | 五月婷婷综合久久 | 国产又粗又猛又黄又爽 | 国产精品福利影院 | 91成人一区 | 手机看片日韩欧美 | 性欧美丰满熟妇xxxx性 | 成人v| 激情开心成人网 | 日本a级网站 | 99精品视频在线观看免费 | 日本a一级 | 福利在线观看 | 搡老岳熟女国产熟妇 | 韩国三级做爰高潮 | 视频久久精品 | 日韩av看片 | 久久免费视频99 | 特级av片| 欧美亚洲国产一区二区三区 | 欧美日韩在线国产 | 亲切的金子餐桌片段的金子 | 亚洲精华国产精华精华液网站 | 黑人一区| √天堂资源在线 | 胖女人做爰全过程 | 男生和女生差差的视频 | 精品午夜久久久 | 椎名空在线 | 欧美日韩91 | 中文字幕自拍偷拍 | 亚洲av无码一区二区三区在线 | 在线观看免费视频一区二区 | a级黄色小视频 | 日韩三级av| 日韩精品在线视频观看 | 黄色三级视频 | 欧美午夜精品一区 | 天天弄天天操 | 国内国产精品天干天干 | 久久久国产精品久久久 | 网站在线播放 | 青草草在线观看 | 性史性dvd影片农村毛片 | 国产免费内射又粗又爽密桃视频 | ,国产精品国产三级国产 | 午夜婷婷 | 2025国产精品视频 | 香蕉成人av | 动漫av网站 | 在线欧美激情 | www.四虎影视.com| 国产成人一区二区三区 | 国产精品美女久久久久久 | 激情五月在线 | 亚洲一区二区三区 | 奇米影视在线播放 | 国产专区精品 | 国产91丝袜在线播放 | 69sex久久精品国产麻豆 | 国产亚洲精品av | 在线免费精品 | 我要色综合天天 |