• <th id="bb20k"></th>
    1. <th id="bb20k"></th>
      1. <th id="bb20k"></th>
        <progress id="bb20k"></progress>

        您的位置:新聞資訊 >文章內容
        Python爬蟲需要注意的技巧
        來源:本站 作者:jinglingdaili 時間:2019-02-14 18:21:40

        網絡爬蟲的要求有幾點


        一、一個好的網頁解釋器,python推薦BeautifulSoup,java推薦htmlparser。


        二、良好的性能,不能太慢,當遇上網絡狀況不大好的時候,慢更受不了,所以通常需要同時啟動N個網絡爬蟲進行工作。使用隊列可以很好解決這個問題。優化性能常見解決方案------隊列輔助多線程。


        三、穩定性,容錯性。網絡本來就存在不穩定性,連接超時,連接重置等是常見的不穩定現象,網絡爬蟲程序要充分妥當地處理這些問題,保證爬蟲輸出結果的完整性。


        Python爬蟲需要注意的技巧


        技巧


        一、基本的抓取


        import urllib2

        content=urllib2.urlopen("http://baidu.com").read()


        二、使用代理服務器

        一般,抓去大量數據時,最好使用代理。防止IP被封,下載次數受限等。


        import urllib2 

        proxy_support=urllib2.ProxyHandler({'http':'http://XX.XX.XX.XX:XXXX'})

        opener=urllib2.build_opener(proxy_support,urllib2.HTTPHandler)

        urllib2.install_opener(opener) 

        content=urllib2.urlopen('http://XXXX').read()


        三、需要登錄時


        1. 使用cookie


        import urllib2,cookielib 

        cookie_support=urllib2.HTTPCookieProcessor(cookielib.CookieJar())

        opener=urllib2.build_opener(cookie_support,urllib2.HTTPHandler)

        urllib2.install_opener(opener) 

        content=urllib2.urlopen('http://XXXX').read()


        若想同時使用cookie和代理,則opener換成

        opener=urllib2.build_opener(proxy_support,cookie_support,urllib2.HTTPHandler)


        2. 處理表單


        一般通過post方式提交數據,可以利用F12開發者工具分析提交的數據包,然后構建相應的post數據發送http請求


        3. 偽裝成瀏覽器


        某些網站反感爬蟲,拒絕請求??梢酝ㄟ^修改http包的header來偽裝


        headers={

        ‘User-Angent’: 'Mozilla/5.0(Windows;U;WindowsNT6.1;en-US;rv:1.9.1.6)Gecko/20091201Firefox/3.5.6'

        }

        req=urllib2.Request(

            url="http://...",

            data=postData,

            headers=headers

        )


        4. 反盜鏈


        header里面,referer站點是不是他自己,所以我們只需要把headers的referer改成該網站即可。

        相關文章內容簡介
        在線咨詢
        微信公眾號

        微信公眾號

        回到頂部
        国产欧美 一区,国产一本大道香蕉AV,国产亚洲卡通另类图片,国产高清AV在线