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

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

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

服務器之家 - 腳本之家 - Python - Python實現的爬取百度貼吧圖片功能完整示例

Python實現的爬取百度貼吧圖片功能完整示例

2021-06-25 00:13xuezhangjun Python

這篇文章主要介紹了Python實現的爬取百度貼吧圖片功能,結合完整實例形式分析了Python實現的百度貼吧圖片爬蟲相關操作技巧,需要的朋友可以參考下

本文實例講述了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
67
68
69
70
#coding:utf-8
import requests
import urllib2
import urllib
```
from lxml import etree
class tieba:
  def __init__(self):
    self.tiebaname = raw_input("請輸入需要爬取的貼吧:")
    self.beginpage = int(raw_input("請輸入爬取的起始頁:"))
    self.endpage = int(raw_input("請輸入爬取的結束頁:"))
    self.baseurl = "http://tieba.baidu.com"
    #self.headers = {"user-agent" : "mozilla/5.0 (windows nt 10.0; wow64) applewebkit/537.36 (khtml, like gecko) chrome/59.0.3071.86 safari/537.36"}
    self.headers = {"user-agent" : "mozilla/5.0 (compatible; msie 9.0; windows nt 6.1 trident/5.0;"} def startwork(self):
    """
      發送貼吧每一頁的url請求
    """
    for page in range(self.beginpage, self.endpage + 1):
      pn = (page - 1) * 50
      keyword = {"kw" : self.tiebaname, "pn" : pn}
      kw = urllib.urlencode(keyword)
      url = self.baseurl + "/f?" + kw
      #print url
      html = self.loadrequest(url)
      self.loadpage(html)
  def loadrequest(self, url):
    """
      發送請求,返回響應
      url: 發送請求的url地址
    """
    request = urllib2.request(url, headers = self.headers)
    #request = urllib2.request(url)
    response = urllib2.urlopen(request)
    return response.read()
  def loadpage(self, html):
    """
      提取每個帖子的url,并發送請求,獲取響應
      html: 貼吧每一頁的html
    """
    content = etree.html(html)
    print '------'
    print content
    # xpath 返回的所有匹配成功后的結果的列表
    #pagelink_list = content.xpath("//div[@class='threadlist_lz clearfix']/div/a[@class='j_th_tit']/@href")
    pagelink_list = content.xpath("//div[@class='col2_right j_threadlist_li_right']//div/a/@href")
    pagelink_list = content.xpath("//div[@class='t_con cleafix']//div/a/@href")
    for link in pagelink_list:
      print link
      self.loadimage(self.loadrequest(self.baseurl + link))
  def loadimage(self, html):
    """
      提取帖子里用戶發送的圖片的url地址
      html: 每個帖子的html
    """
    content = etree.html(html)
    imagelink_list = content.xpath("//div[@class='p_content ']//img[@class='bde_image']/@src")
    for link in imagelink_list:
      self.writeimage(self.loadrequest(link), link[-10:])
  def writeimage(self, data, filename):
    """
      將圖片的響應數據,寫入到本地磁盤里
      data: 圖片的響應數據
      filename: 文件名(圖片url的后10位)
    """
    print "正在保存圖片...%s" % filename
    with open(filename, "wb") as f:
      f.write(data)
if __name__ == "__main__":
  tieba = tieba()
  tieba.startwork()

希望本文所述對大家python程序設計有所幫助。

原文鏈接:https://blog.csdn.net/xuezhangjun0121/article/details/73719059

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 桃乃木香奈ipx在线播放 | 91麻豆制片厂 | 无限资源在线观看高清 | 亚洲黄色免费在线观看 | 脱女学小内内摸出水网站免费 | 免费观看一区二区 | 大陆国语自产精品视频在 | 日本一区二区三区久久 | 午夜福利电影网站鲁片大全 | 亚洲网站在线观看 | www.尤物在线 | 91手机在线| 肉肉小说在线阅读 | a韩剧| 無码一区中文字幕少妇熟女网站 | 国产成人亚洲精品一区二区在线看 | 午夜小视频免费 | 午夜香蕉成视频人网站高清版 | 91精品啪在线观看国产老湿机 | 操比图片 | 欧美3p大片在线观看完整版 | 日本在线视频免费观看 | 国产麻豆精品原创 | 久久久久激情免费观看 | 免费国产在线观看 | 免费一级欧美片在线观免看 | 思思99热久久精品在2019线 | 秋霞鲁丝影院久久人人综合 | 国产欧美精品专区一区二区 | 嫩草成人影院 | 91午夜视频 | 91免费永久在线地址 | 欧美日韩中文国产一区二区三区 | 国产免费小视频在线观看 | 美女班主任下面好爽好湿好紧 | 精品国产中文字幕在线视频 | 日韩永久在线观看免费视频 | 国产三级精品三级男人的天堂 | 日韩成人在线影院 | 国产精品女主播自在线拍 | 精品无码国产污污污免费网站2 |