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

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

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

服務器之家 - 腳本之家 - Python - Python多線程爬蟲實戰_爬取糗事百科段子的實例

Python多線程爬蟲實戰_爬取糗事百科段子的實例

2020-12-25 00:38Liuyt_61 Python

下面小編就為大家分享一篇Python多線程爬蟲實戰_爬取糗事百科段子的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

多線程爬蟲:即程序中的某些程序段并行執行,

合理地設置多線程,可以讓爬蟲效率更高

糗事百科段子普通爬蟲和多線程爬蟲

分析該網址鏈接得出:

https://www.qiushibaike.com/8hr/page/頁碼/

多線程爬蟲也就和JAVA的多線程差不多,直接上代碼

?
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
67
68
69
70
71
72
73
74
75
76
77
78
'''
#此處代碼為普通爬蟲
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)+"頁第"+str(j)+"個段子內容是:")
  print(datalist[j])
'''
'''
#此處為多線程介紹代碼
import threading #導入多線程包
class A(threading.Thread): #創建一個多線程A
 def __init__(self):  #必須包含的兩個方法之一:初始化線程
  threading.Thread.__init__(self)
 def run(self):   #必須包含的兩個方法之一:線程運行方法
  for i in range(0,11):
   print("我是線程A")
class B(threading.Thread): #創建一個多線程A
 def __init__(self):  #必須包含的兩個方法之一:初始化線程
  threading.Thread.__init__(self)
 def run(self):   #必須包含的兩個方法之一:線程運行方法
  for i in range(0,11):
   print("我是線程B")
t1 = A() #線程實例化
t1.start() #線程運行
t2 = B()
t2.start()
'''
 
#此處為修改后的多線程爬蟲
#使用多線程進行奇偶頁的爬取
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): #爬取奇數頁內容
 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)+"頁第"+str(j)+"段子內容為:")
    print(datalist[j])
 
class two(threading.Thread): #爬取奇數頁內容
 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)+"頁第"+str(j)+"段子內容為:")
    print(datalist[j])
t1 = one()
t2 = two()
t1.start()
t2.start()

以上這篇Python多線程爬蟲實戰_爬取糗事百科段子的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/Liuyt-61/archive/2017/12/14/8040238.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: blacked黑人hd2021| 日本高清视频网站www | 70老妇牲交毛片 | 日本嫩小xxxxhd| 美女禁区视频免费观看精选 | 精品小视频在线 | 国产精品亚洲一区二区 | hd最新国产人妖ts视频 | 四虎精品免费视频 | 亚洲精品国产AV成人毛片 | 91寡妇天天综合久久影院 | 亚洲一区二区三区91 | 国产三级精品91三级在专区 | 好大好深受不了了快进来 | 国产99青草全福视在线 | 美女的隐私视频免费看软件 | 亚洲天堂免费观看 | 国产精品玖玖玖影院 | 91国语精品自产拍在线观看一 | 久久精品国产亚洲AV天美18 | 欧美日韩一区二区三区免费不卡 | 国产新疆成人a一片在线观看 | 国产第一福利影院 | 日韩精品视频美在线精品视频 | 福利视频一区青娱 | 日日摸日日碰夜夜爽97纠 | 色中色软件 | 极限淫生小说 | 激情文学综合网 | brazzersxxx欧美 | 91久久国产成人免费观看资源 | 免费a漫 - 禁密天堂 | 国产小视频在线播放 | 国产高清国内精品福利 | 性插图动态图无遮挡 | 男人jj视频 | 午夜一级视频 | 欧美高清日韩 | 2019nv天堂香蕉在线观看 | 免费黄色网站视频 | 欧美一卡二卡科技有限公司 |