美文网首页
python-爬虫12-多线程爬取

python-爬虫12-多线程爬取

作者: 我最有才 | 来源:发表于2019-04-06 20:28 被阅读0次

    可复制代码如下:

    ###多线程

    import re

    import threading

    import urllib.request

    import urllib.error

    import threading

    headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36")

    opener=urllib.request.build_opener()

    opener.addheaders=[headers]

    urllib.request.install_opener(opener)

    class One(threading.Thread):

        def __init__(self):

            threading.Thread.__init__(self)

        def run(self):

            print("我是线程One")

            for i in range(1,20,2):

                url='https://www.qiushibaike.com/text/page/'

                urla=url+str(i)

                data=urllib.request.urlopen(urla).read().decode("utf-8","ignore")

                pat='<div class="content">.*?<span>(.*?)</span>.*?</div>'

                datalist=re.compile(pat,re.S).findall(data)

                for j in range(0,len(datalist)):

                    print("第"+str(i)+"页第"+str(j)+"个段子的内容")

                    print(datalist[j])

    class Two(threading.Thread):

        def __init__(self):

            threading.Thread.__init__(self)

        def run(self):

            print("我是线程Two")

            for i in range(0,20,2):

                url='https://www.qiushibaike.com/text/page/'

                urla=url+str(i)

                data=urllib.request.urlopen(urla).read().decode("utf-8","ignore")

                pat='<div class="content">.*?<span>(.*?)</span>.*?</div>'

                datalist=re.compile(pat,re.S).findall(data)

                for j in range(0,len(datalist)):

                    print("第"+str(i)+"页第"+str(j)+"个段子的内容")

                    print(datalist[j])

    one=One()

    one.start()

    two=Two()

    two.start()

    相关文章

      网友评论

          本文标题:python-爬虫12-多线程爬取

          本文链接:https://www.haomeiwen.com/subject/dkrdiqtx.html