欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python多線程爬蟲(chóng)實(shí)戰(zhàn)_爬取糗事百科段子的實(shí)例

 更新時(shí)間:2017年12月15日 10:02:49   作者:Liuyt_61  
下面小編就為大家分享一篇Python多線程爬蟲(chóng)實(shí)戰(zhàn)_爬取糗事百科段子的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

多線程爬蟲(chóng):即程序中的某些程序段并行執(zhí)行,

合理地設(shè)置多線程,可以讓爬蟲(chóng)效率更高

糗事百科段子普通爬蟲(chóng)和多線程爬蟲(chóng)

分析該網(wǎng)址鏈接得出:

https://www.qiushibaike.com/8hr/page/頁(yè)碼/

多線程爬蟲(chóng)也就和JAVA的多線程差不多,直接上代碼

'''
#此處代碼為普通爬蟲(chóng)
import urllib.request
import urllib.error
import re
headers = ("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36")
opener = urllib.request.build_opener()
opener.addheaders = [headers]
urllib.request.install_opener(opener)
for i in range(1,2):
 url = "https://www.qiushibaike.com/8hr/page/"+str(i)+"/"
 pagedata = urllib.request.urlopen(url).read().decode("utf-8","ignore")
 pattern = '<div class="content">.*?<span>(.*?)</span>(.*?)</div>'
 datalist = re.compile(pattern,re.S).findall(pagedata)
 for j in range(0,len(datalist)):
  print("第"+str(i)+"頁(yè)第"+str(j)+"個(gè)段子內(nèi)容是:")
  print(datalist[j])
'''
'''
#此處為多線程介紹代碼
import threading #導(dǎo)入多線程包
class A(threading.Thread): #創(chuàng)建一個(gè)多線程A
 def __init__(self):  #必須包含的兩個(gè)方法之一:初始化線程
  threading.Thread.__init__(self)
 def run(self):   #必須包含的兩個(gè)方法之一:線程運(yùn)行方法
  for i in range(0,11):
   print("我是線程A")
class B(threading.Thread): #創(chuàng)建一個(gè)多線程A
 def __init__(self):  #必須包含的兩個(gè)方法之一:初始化線程
  threading.Thread.__init__(self)
 def run(self):   #必須包含的兩個(gè)方法之一:線程運(yùn)行方法
  for i in range(0,11):
   print("我是線程B")
t1 = A() #線程實(shí)例化
t1.start() #線程運(yùn)行
t2 = B()
t2.start()
'''

#此處為修改后的多線程爬蟲(chóng)
#使用多線程進(jìn)行奇偶頁(yè)的爬取
import urllib.request
import urllib.error
import re
import threading
headers = ("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36")
opener = urllib.request.build_opener()
opener.addheaders = [headers]
urllib.request.install_opener(opener)
class one(threading.Thread): #爬取奇數(shù)頁(yè)內(nèi)容
 def __init__(self):
  threading.Thread.__init__(self)
 def run(self):
  for i in range(1,12,2):
   url = "https://www.qiushibaike.com/8hr/page/"+str(i)+"/"
   pagedata = urllib.request.urlopen(url).read().decode("utf-8","ignore")
   pattern = '<div class="content">.*?<span>(.*?)</span>(.*?)</div>'
   datalist = re.compile(pattern,re.S).findall(pagedata)
   for j in range(0,len(datalist)):
    print("第"+str(i)+"頁(yè)第"+str(j)+"段子內(nèi)容為:")
    print(datalist[j])

class two(threading.Thread): #爬取奇數(shù)頁(yè)內(nèi)容
 def __init__(self):
  threading.Thread.__init__(self)
 def run(self):
  for i in range(2,12,2):
   url = "https://www.qiushibaike.com/8hr/page/"+str(i)+"/"
   pagedata = urllib.request.urlopen(url).read().decode("utf-8","ignore")
   pattern = '<div class="content">.*?<span>(.*?)</span>(.*?)</div>'
   datalist = re.compile(pattern,re.S).findall(pagedata)
   for j in range(0,len(datalist)):
    print("第"+str(i)+"頁(yè)第"+str(j)+"段子內(nèi)容為:")
    print(datalist[j])
t1 = one()
t2 = two()
t1.start()
t2.start()

以上這篇Python多線程爬蟲(chóng)實(shí)戰(zhàn)_爬取糗事百科段子的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python?OpenCV超詳細(xì)講解調(diào)整大小與圖像操作的實(shí)現(xiàn)

    Python?OpenCV超詳細(xì)講解調(diào)整大小與圖像操作的實(shí)現(xiàn)

    OpenCV用C++語(yǔ)言編寫(xiě),它具有C?++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac?OS,OpenCV主要傾向于實(shí)時(shí)視覺(jué)應(yīng)用,并在可用時(shí)利用MMX和SSE指令,本篇文章帶你通過(guò)OpenCV實(shí)現(xiàn)重調(diào)大小與圖像裁剪
    2022-04-04
  • PyTorch上搭建簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)回歸和分類(lèi)的示例

    PyTorch上搭建簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)回歸和分類(lèi)的示例

    本篇文章主要介紹了PyTorch上搭建簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)回歸和分類(lèi)的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 使用python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的圖片爬蟲(chóng)

    使用python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的圖片爬蟲(chóng)

    在本文中,我們將學(xué)習(xí)如何使用Python創(chuàng)建一個(gè)簡(jiǎn)單的圖片爬蟲(chóng),我們將利用requests庫(kù)來(lái)發(fā)送HTTP請(qǐng)求,BeautifulSoup庫(kù)來(lái)解析HTML頁(yè)面,以及os和shutil庫(kù)來(lái)下載和保存圖片,通過(guò)這個(gè)教程,你將學(xué)會(huì)如何爬取網(wǎng)頁(yè)上的圖片并保存到本地,需要的朋友可以參考下
    2024-02-02
  • Python 識(shí)別12306圖片驗(yàn)證碼物品的實(shí)現(xiàn)示例

    Python 識(shí)別12306圖片驗(yàn)證碼物品的實(shí)現(xiàn)示例

    這篇文章主要介紹了Python 識(shí)別12306圖片驗(yàn)證碼物品的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • python中獲得當(dāng)前目錄和上級(jí)目錄的實(shí)現(xiàn)方法

    python中獲得當(dāng)前目錄和上級(jí)目錄的實(shí)現(xiàn)方法

    這篇文章主要介紹了python中獲得當(dāng)前目錄和上級(jí)目錄的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2017-10-10
  • Django框架實(shí)現(xiàn)在線考試系統(tǒng)的示例代碼

    Django框架實(shí)現(xiàn)在線考試系統(tǒng)的示例代碼

    這篇文章主要介紹了Django框架實(shí)現(xiàn)在線考試系統(tǒng)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python學(xué)習(xí)之異常斷言詳解

    Python學(xué)習(xí)之異常斷言詳解

    這篇文章主要和大家介紹一下異常的最后一個(gè)知識(shí)點(diǎn)——斷言 ,斷言是判斷一個(gè)表達(dá)式,在表達(dá)式為 False 的時(shí)候觸發(fā)異常。本文將通過(guò)示例詳細(xì)介紹一下斷言,需要的可以參考一下
    2022-03-03
  • python實(shí)現(xiàn)大文本文件分割

    python實(shí)現(xiàn)大文本文件分割

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)大文本文件分割,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 淺述python中深淺拷貝原理

    淺述python中深淺拷貝原理

    Python中,對(duì)象的賦值,拷貝(深/淺拷貝)之間是有差異的,如果使用的時(shí)候不注意,就可能產(chǎn)生意外的結(jié)果,其實(shí)這個(gè)是由于共享內(nèi)存導(dǎo)致的結(jié)果,下面我們來(lái)簡(jiǎn)單談下Python中的深拷貝和淺拷貝。
    2018-09-09
  • java判斷三位數(shù)的實(shí)例講解

    java判斷三位數(shù)的實(shí)例講解

    在本文里小編給大家整理了關(guān)于java怎么判斷三位數(shù)的實(shí)例方法以及要點(diǎn)總結(jié),需要的朋友們跟著學(xué)習(xí)下。
    2019-06-06

最新評(píng)論