亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python_爬蟲基礎(chǔ)

系統(tǒng) 1563 0

url組成:
協(xié)議
域名
端口(如果url里面沒有端口,那么采用默認(rèn)端口)
文件路徑
文件名
參數(shù)
錨點(diǎn)

HTTP:超文本傳輸協(xié)議
端口:80

工作原理:
請求響應(yīng)模型
無連接
無狀態(tài)

http 請求包含哪些內(nèi)容
請求行(請求方法[get、post] url 協(xié)議版本)
請求頭(每個參數(shù)以鍵值對形式存在)
空行
請求數(shù)據(jù)(請求參數(shù))

請求頭參數(shù)
1、 user-agent:請求發(fā)起者的身份信息
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

            
              2、'Cookie': 'SINAGLOBAL=2130213546448.7048.1553060688804; un=15910903918; login_sid_t=c059d46b84c9ba72e46931f929e03ae6; cross_origin_proto=SSL; Ugrow-G0=cf25a00b541269674d0feadd72dce35f; TC-V5-G0=42b289d444da48cb9b2b9033b1f878d9; wb_view_log=1280*7200.8999999761581421; _s_tentry=-; Apache=9644517198258.39.1560992628999; ULV=1560992629006:6:6:4:9644517198258.39.1560992628999:1560930667032; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WF7_w0vCo36wpUWVyPM1nWC5JpX5K2hUgL.FoMpSh2ce0nc1hB2dJLoIp7LxKML1KBLBKnLxKqL1hnLBoMN1KzX1KzcS0B4; ALF=1592528727; SSOLoginState=1560992728; SCF=Aq3PMXpon7NahzGtuZvlimzZ84UE32grTZeYO8vtC_oCuecA2XslBSJj22nks8t7258pq6CpONI3KMQ-BWsgYEI.; SUB=_2A25wDquIDeRhGeFP71MX8ybKwziIHXVTfZpArDV8PUNbmtAKLWHfkW9NQTdocHVpNNPNLHv7GCZmz67V-yGmonYX; SUHB=0JvgZhTqcaiqmn; wvr=6; wb_view_log_7141638684=1280*7200.8999999761581421; UOR=www.baidu.com,weibo.com,www.baidu.com; TC-Page-G0=51e9db4bd1cd84f5fb5f9b32772c2750|1560995726|1560995595; webim_unReadCount=%7B%22time%22%3A1560995786988%2C%22dm_pub_total%22%3A1%2C%22chat_group_pc%22%3A0%2C%22allcountNum%22%3A33%2C%22msgbox%22%3A0%7D'

3、referer
	表示請求是從哪個URL跳轉(zhuǎn)過來的

            
          

響應(yīng):
響應(yīng)狀態(tài)碼
響應(yīng)正文

常見狀態(tài)碼
200 請求成功
301 永久重定向
302 臨時重定向
404 請求的資源(網(wǎng)頁等)不存在
403 Forbidden 合法請求,但對被請求頁面的訪問被禁止【爬蟲中如果遇到,懷疑已經(jīng)被反爬】
503 服務(wù)器當(dāng)前不可用(過載或者宕機(jī))【爬蟲中如果遇到,懷疑已經(jīng)被反爬】

請求方法
get、post

安裝第三方包:requests
安裝中如果提示PIP需要更新
1、win + R
2、輸入cmd(進(jìn)入win dos界面)
3、執(zhí)行命令 python -m pip install --upgrade pip
更新成功后,回到pycharm 重新進(jìn)行安裝即可

爬蟲步驟
1、確定需求
2、尋找/分析需求
3、發(fā)送請求(requests、urllib.request)
4、解析數(shù)據(jù)
5、存儲數(shù)據(jù)

爬蟲分析請求步驟:
1、抓取請求(使用抓包工具或者F12瀏覽器調(diào)試工具)
2、分析url
3、分析請求方法
4、分析請求頭參數(shù)(user-agent、referer、cookie)

            
              
                import
              
               requests

url 
              
                =
              
              
                'https://www.baidu.com/'
              
              
headers 
              
                =
              
              
                {
              
              
                'user-agent'
              
              
                :
              
              
                'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
              
              
                }
              
              
resp 
              
                =
              
               requests
              
                .
              
              get
              
                (
              
              url
              
                ,
              
              headers
              
                =
              
              headers
              
                )
              
              
                # 設(shè)置響應(yīng)正文的編碼方式
              
              
resp
              
                .
              
              encoding 
              
                =
              
              
                'utf-8'
              
              
                # print(resp)
              
              
                # 獲取html文檔內(nèi)容(響應(yīng)正文)
              
              
                # print(resp.text)
              
              
                # 獲取html文檔內(nèi)容(響應(yīng)正文),返回的類型是字節(jié)類型
              
              
                # print(resp.content)
              
              
                # 獲取請求頭
              
              
                print
              
              
                (
              
              resp
              
                .
              
              request
              
                .
              
              headers
              
                )
              
              
                # 獲取響應(yīng)頭
              
              
                print
              
              
                (
              
              resp
              
                .
              
              headers
              
                )
              
              
                # 獲取響應(yīng)的狀態(tài)碼
              
              
                print
              
              
                (
              
              resp
              
                .
              
              status_code
              
                )
              
            
          
            
              
                import
              
               requests

url 
              
                =
              
              
                'https://account.weibo.com/set/index?topnav=1&wvr=6'
              
              
headers 
              
                =
              
              
                {
              
              
                'User-Agent'
              
              
                :
              
              
                'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
              
              
                ,
              
              
                'Cookie'
              
              
                :
              
              
                'WBStorage=; SINAGLOBAL=2130213546448.7048.1553060688804; un=15910903918; _s_tentry=login.sina.com.cn; Apache=4582700462260.074.1561012049599; ULV=1561012049667:7:7:5:4582700462260.074.1561012049599:1560992629006; webim_unReadCount=%7B%22time%22%3A1561012094516%2C%22dm_pub_total%22%3A1%2C%22chat_group_pc%22%3A0%2C%22allcountNum%22%3A35%2C%22msgbox%22%3A0%7D; cross_origin_proto=SSL; Ugrow-G0=589da022062e21d675f389ce54f2eae7; login_sid_t=b554f5f03106fcf7a98b90e0b4b719ab; UOR=www.baidu.com,weibo.com,login.sina.com.cn; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WF7_w0vCo36wpUWVyPM1nWC5JpX5K2hUgL.FoMpSh2ce0nc1hB2dJLoIp7LxKML1KBLBKnLxKqL1hnLBoMN1KzX1KzcS0B4; ALF=1592548812; SSOLoginState=1561012813; SCF=Aq3PMXpon7NahzGtuZvlimzZ84UE32grTZeYO8vtC_oCh0Kum7EYZMkwG8JvLUZFmMCdsyxw-r3MucNX0GrONp8.; SUB=_2A25wD1odDeRhGeFP71MX8ybKwziIHXVTfczVrDV8PUNbmtAKLRLikW9NQTdocJZSJedrR4UN6iNBhhV9R-RevMsn; SUHB=0P1MIVwamSbPxD; wvr=6; WBStorage=6b696629409558bc|undefined'
              
              
                }
              
              
resp 
              
                =
              
               requests
              
                .
              
              get
              
                (
              
              url
              
                ,
              
               headers
              
                =
              
              headers
              
                )
              
              
                # resp.encoding = 'gb2312'
              
              
                # print(resp.text)
              
              
                with
              
              
                open
              
              
                (
              
              
                'weibo.html'
              
              
                ,
              
              
                'w'
              
              
                ,
              
              encoding
              
                =
              
              
                'utf-8'
              
              
                )
              
              
                as
              
               f
              
                :
              
              
    f
              
                .
              
              write
              
                (
              
              resp
              
                .
              
              text
              
                )
              
              
                # 判斷請求是否被重定向,如果沒有發(fā)生重定向返回一個空列表,如果又發(fā)生重定向,返回重定向的狀態(tài)碼
              
              
                print
              
              
                (
              
              resp
              
                .
              
              history
              
                )
              
              
                print
              
              
                (
              
              resp
              
                .
              
              url
              
                )
              
            
          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲精品国产手机 | 日韩新片王 | 欧美日韩中字 | 国产在线精品一区二区高清不卡 | 香蕉爱爱视频 | 四虎最新免费观看网址 | 在线看一区 | 五月婷婷免费视频 | 在线播放精品 | 免费看操片 | 伊人国产在线 | 加勒比黑人在线 | 日本a级精品一区二区三区 日本a毛片在线播放 | 美国毛片一级视频在线aa | 中文字幕在线综合 | 亚洲欧美日韩高清一区二区一 | 黑人日美女 | 亚洲免费视频在线观看 | 99热这里有免费国产精品 | 国产福利视精品永久免费 | 亚洲欧美激情综合第一区 | 亚洲国产爱 | 亚洲美日韩| 国产伦久视频免费观看 视频 | 久草国产精品 | 久久免费观看国产99精品 | 国产福利在线视频 | 欧美日韩99| 亚洲综合色就色手机在线观看 | 久色阁| 午夜不卡在线 | 欧美精品专区第1页 | 欧美一级成人免费大片 | 青青热久免费精品视频在线观看 | 欧美三级久久 | 高清亚洲综合色成在线播放放 | 亚洲免费不卡 | 精品国产91乱码一区二区三区 | 亚洲欧美在线免费 | 中文字幕三级理论影院 | 亚洲区一 |