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

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

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

服務器之家 - 腳本之家 - Python - python 實現一個貼吧圖片爬蟲的示例

python 實現一個貼吧圖片爬蟲的示例

2020-12-11 00:20貝克田莊 Python

下面小編就為大家帶來一篇python 實現一個貼吧圖片爬蟲的示例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

今天沒事回家寫了個貼吧圖片下載程序,工具用的是PyCharm,這個工具很實用,開始用的Eclipse,但是再使用類庫或者其它方便并不實用,所以最后下了個專業開發python程序的工具,開發環境是Python2,因為大學時自學的是python2

第一步:就是打開cmd命令,輸入pip install lxml

如圖

python 實現一個貼吧圖片爬蟲的示例

第二步:下載一個chrome插件:專門用來將html文件轉為xml用xpth技術定位

python 實現一個貼吧圖片爬蟲的示例

在頁面按下Ctrl+Shift+X即可打開插件進行頁面分析

如下圖

python 實現一個貼吧圖片爬蟲的示例

圖中的黑色方框左邊填寫xpth,右邊會返回對應的結果,可以看到當前頁面的帖子全部抓取到了。xpth具體怎么寫要根據右邊的檢查元素來具體分析,尋找規律,每個網站的方式不一樣,但是細心尋找可以找到相同的規律。

找到規律并能匹配上開始寫代碼了:go

至于代碼我對于每行盡量標上注釋,方便大家理解

 
?
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# -*- coding:utf-8 -*-
 
import urllib
import urllib2
from lxml import etree
 
 
def loadPage(url):
 """
  作用:根據url發送請求,獲取服務器響應文件
  url: 需要爬取的url地址
 """
 #print url
 #美女
 # headers = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"}
 
 request = urllib2.Request(url)
 html = urllib2.urlopen(request).read()
 # 解析HTML文檔為HTML DOM模型
 content = etree.HTML(html)
 #print content
 # 返回所有匹配成功的列表集合
 link_list = content.xpath('//div[@class="t_con cleafix"]/div/div/div/a/@href')
 
 #link_list = content.xpath('//a[@class="j_th_tit"]/@href')
 for link in link_list:
  fulllink = "http://tieba.baidu.com" + link
  # 組合為每個帖子的鏈接
  #print link
  loadImage(fulllink)
 
 
# 取出每個帖子里的每個圖片連接
def loadImage(link):
 headers = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
 request = urllib2.Request(link, headers = headers)
 html = urllib2.urlopen(request).read()
 # 解析
 content = etree.HTML(html)
 # 取出帖子里每層層主發送的圖片連接集合
 #link_list = content.xpath('//img[@class="BDE_Image"]/@src')
 #link_list = content.xpath('//div[@class="post_bubble_middle"]')
 link_list = content.xpath('//img[@class="BDE_Image"]/@src')
 # 取出每個圖片的連接
 for link in link_list:
  print link
  writeImage(link)
 
 
def writeImage(link):
 """
  作用:將html內容寫入到本地
  link:圖片連接
 """
 #print "正在保存 " + filename
 headers = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
 # 文件寫入
 request = urllib2.Request(link, headers = headers)
 # 圖片原始數據
 image = urllib2.urlopen(request).read()
 # 取出連接后10位做為文件名
 filename = link[-10:]
 # 寫入到本地磁盤文件內
 with open("d:\image\\"+filename, "wb") as f:
  f.write(image)
 print "已經成功下載 "+ filename
 
def tiebaSpider(url, beginPage, endPage):
 """
  作用:貼吧爬蟲調度器,負責組合處理每個頁面的url
  url : 貼吧url的前部分
  beginPage : 起始頁
  endPage : 結束頁
 """
 for page in range(beginPage, endPage + 1):
  pn = (page - 1) * 50
  filename = "第" + str(page) + "頁.html"
  fullurl = url + "&pn=" + str(pn)
  print fullurl
  loadPage(fullurl)
  #print html
 
  print "謝謝使用"
 
if __name__ == "__main__":
 kw = raw_input("請輸入需要爬取的貼吧名:")
 beginPage = int(raw_input("請輸入起始頁:"))
 endPage = int(raw_input("請輸入結束頁:"))
 
 url = "http://tieba.baidu.com/f?"
 key = urllib.urlencode({"kw": kw})
 fullurl = url + key
 tiebaSpider(fullurl, beginPage, endPage)

運行:

python 實現一個貼吧圖片爬蟲的示例

python 實現一個貼吧圖片爬蟲的示例

可以看到程序成功運行了,當然我自己的過程并不是一帆風順,代碼僅供參考

python 實現一個貼吧圖片爬蟲的示例

以上這篇python 實現一個貼吧圖片爬蟲的示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/clovejava/archive/2017/10/11/7653284.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品亚洲国产AV涩情 | 久久久无码精品亚洲欧美 | 小小水蜜桃视频高清在线播放 | 日韩精品视频在线观看免费 | 师尊被各种play打屁股 | 我和岳偷长篇小说 | 任我鲁精品视频精品 | 国产伊人久久 | 国产精品原创巨作无遮挡 | 丝瓜视频黄色在线观看 | 国产在视频线精品视频 | 国产一区二区免费福利片 | 日韩在线资源 | 91在线免费看 | 好大好猛好爽好深视频免费 | 国色天香社区在线 | 亚洲国产欧美另类va在线观看 | 91亚洲精品丁香在线观看 | 日韩基地1024首页 | 国产成人精品在线 | 特级av毛片免费观看 | 91精品国产高清久久久久久 | 国产在亚洲线视频观看 | 97伊人久久精品亚洲午夜 | 日本aaa大片| 91精品啪在线观看国产老湿机 | 动漫美女被羞羞产奶 | 亚洲国产综合久久久无码色伦 | 好男人免费高清在线观看2019 | 日本中文字幕在线观看视频 | 男人天堂网在线 | 日本人泡妞xxxxxx69 | 91久久综合九色综合欧美98 | 2020国产精品永久在线观看 | waswaswas免费 | japanhd粗暴video | 精品国产一区二区三区国产馆 | 脱了白丝校花的内裤猛烈进入 | 亚洲精品国产在线网站 | 校园刺激全黄H全肉细节文 校草让我脱了内裤给全班看 | 交换余生在线播放免费 |