一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python 爬蟲學習筆記之單線程爬蟲

Python 爬蟲學習筆記之單線程爬蟲

2020-09-08 10:19千里追風 Python

本文給大家分享的是python使用requests爬蟲庫實現單線程爬蟲的代碼以及requests庫的安裝和使用,有需要的小伙伴可以參考下

介紹

本篇文章主要介紹如何爬取麥子學院的課程信息(本爬蟲仍是單線程爬蟲),在開始介紹之前,先來看看結果示意圖

Python 爬蟲學習筆記之單線程爬蟲

怎么樣,是不是已經躍躍欲試了?首先讓我們打開麥子學院的網址,然后找到麥子學院的全部課程信息,像下面這樣

Python 爬蟲學習筆記之單線程爬蟲

這個時候進行翻頁,觀看網址的變化,首先,第一頁的網址是 http://www.maiziedu.com/course/list/, 第二頁變成了 http://www.maiziedu.com/course/list/all-all/0-2/, 第三頁變成了 http://www.maiziedu.com/course/list/all-all/0-3/ ,可以看到,每次翻一頁,0后面的數字就會遞增1,然后就有人會想到了,拿第一頁呢?我們嘗試著將 http://www.maiziedu.com/course/list/all-all/0-1/ 放進瀏覽器的地址欄,發現可以打開第一欄,那就好辦了,我們只需要使用 re.sub() 就可以很輕松的獲取到任何一頁的內容。獲取到網址鏈接之后,下面要做的就是獲取網頁的源代碼,首先右擊查看審查或者是檢查元素,就可以看到以下界面

Python 爬蟲學習筆記之單線程爬蟲

找到課程所在的位置以后,就可以很輕松的利用正則表達式將我們需要的內容提取出來,至于怎么提取,那就要靠你自己了,嘗試著自己去找規律才能有更大的收獲。如果你實在不知道怎么提取,那么繼續往下,看我的源代碼吧

實戰源代碼

?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    # coding=utf-8
     import re
     import requests
     import sys
     reload(sys)
     sys.setdefaultencoding("utf8")
     
     
     class spider():
       def __init__(self):
         print "開始爬取內容。。。"
     
        def changePage(self, url, total_page):
         nowpage = int(re.search('/0-(\d+)/', url, re.S).group(1))
         pagegroup = []
     
         for i in range(nowpage, total_page + 1):
           link = re.sub('/0-(\d+)/', '/0-%s/' % i, url, re.S)
           pagegroup.append(link)
     
         return pagegroup
     
    def getsource(self, url):
      html = requests.get(url)
      return html.text
     
    def getclasses(self, source):
      classes = re.search('<ul class="zy_course_list">(.*?)</ul>', source, re.S).group(1)
      return classes
     
    def geteach(self, classes):
      eachclasses = re.findall('<li>(.*?)</li>', classes, re.S)
      return eachclasses
     
    def getinfo(self, eachclass):
      info = {}
      info['title'] = re.search('<a py" id="highlighter_90957">
    ?
    1
    2
    3
    4
    5
    import requests
     
    html=requests.get("http://gupowang.baijia.baidu.com/article/283878")
    html.encoding='utf-8'
    print(html.text)

    第一行引入requests庫,第二行使用requests的get方法獲取網頁源代碼,第三行設置編碼格式,第四行文本輸出。
    把獲取到的網頁源代碼保存到文本文件中:

    ?
    1
    2
    3
    4
    5
    6
    7
    import requests
    import os
     
    html=requests.get("http://gupowang.baijia.baidu.com/article/283878")
    html_file=open("news.txt","w")
    html.encoding='utf-8'
    print(html.text,file=html_file)

    延伸 · 閱讀

    精彩推薦
    主站蜘蛛池模板: 成人网18免费网 | 国产自拍视频一区 | 久久精品熟女亚洲AV国产 | 亚洲春色综合另类网蜜桃 | 狠狠综合久久综合网站 | 免费视频专区一国产盗摄 | 青草免费在线 | 成人免费草草视频 | 国产91精选在线观看麻豆 | 国产a免费观看 | 天天夜夜啦啦啦 | 亚洲精品国产乱码AV在线观看 | 久久亚洲高清观看 | 欧美黑人性 | 亚洲六月丁香六月婷婷色伊人 | 国产盗摄wc女厕所 | 国产卡一卡二卡四卡无卡 | 亚洲精品色综合久久 | 美女被草逼 | 亚洲精品在线免费 | 婷婷九月 | 国产第一自拍 | 华人亚洲欧美精品国产 | 操熟美女又肥又嫩的骚屁股 | 免费人成在线观看69式小视频 | 护士伦理片 | 国产99视频精品免费视频7 | 五月婷婷在线播放 | 男人天堂日韩 | 国产精品毛片va一区二区三区 | 超级乱淫伦短篇小说做车 | 99国内精品久久久久久久黑人 | 日本一在线中文字幕天堂 | www.午夜剧场 | 日本三级大学生17 | 成人香蕉xxxxxxx | 久久99re2热在线播放7 | 欧美久久影院 | 欧美日韩亚洲综合久久久 | 成人免费视频一区 | 无人在线观看免费高清视频播放 |
    <s id="fetwm"></s>
    <big id="fetwm"><i id="fetwm"></i></big>
    <sup id="fetwm"></sup>
    <font id="fetwm"><td id="fetwm"></td></font>

        <sup id="fetwm"></sup>