最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)的爬取百度貼吧圖片功能完整示例

 更新時間:2019年05月10日 11:57:42   作者:xuezhangjun  
這篇文章主要介紹了Python實現(xiàn)的爬取百度貼吧圖片功能,結(jié)合完整實例形式分析了Python實現(xiàn)的百度貼吧圖片爬蟲相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)的爬取百度貼吧圖片功能。分享給大家供大家參考,具體如下:

#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("請輸入爬取的結(jié)束頁:"))
    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):
    """
      發(fā)送貼吧每一頁的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):
    """
      發(fā)送請求,返回響應(yīng)
      url: 發(fā)送請求的url地址
    """
    request = urllib2.Request(url, headers = self.headers)
    #request = urllib2.Request(url)
    response = urllib2.urlopen(request)
    return response.read()
  def loadPage(self, html):
    """
      提取每個帖子的url,并發(fā)送請求,獲取響應(yīng)
      html: 貼吧每一頁的html
    """
    content = etree.HTML(html)
    print '------'
    print content
    # xpath 返回的所有匹配成功后的結(jié)果的列表
    #pagelink_list = content.xpath("http://div[@class='threadlist_lz clearfix']/div/a[@class='j_th_tit']/@href")
    pagelink_list = content.xpath("http://div[@class='col2_right j_threadlist_li_right']//div/a/@href")
    pagelink_list = content.xpath("http://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):
    """
      提取帖子里用戶發(fā)送的圖片的url地址
      html: 每個帖子的html
    """
    content = etree.HTML(html)
    imagelink_list = content.xpath("http://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):
    """
      將圖片的響應(yīng)數(shù)據(jù),寫入到本地磁盤里
      data: 圖片的響應(yīng)數(shù)據(jù)
      filename: 文件名(圖片url的后10位)
    """
    print "正在保存圖片...%s" % filename
    with open(filename, "wb") as f:
      f.write(data)
if __name__ == "__main__":
  tieba = Tieba()
  tieba.startWork()

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python正則表達式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • python中使用urllib2獲取http請求狀態(tài)碼的代碼例子

    python中使用urllib2獲取http請求狀態(tài)碼的代碼例子

    這篇文章主要介紹了python中使用urllib2獲取http請求狀態(tài)碼的代碼例子,需要的朋友可以參考下
    2014-07-07
  • 利用Python生成隨機驗證碼詳解

    利用Python生成隨機驗證碼詳解

    怎么用python繞驗證碼是個令人頭禿的事情,這篇文章將為大家詳細 介紹如何利用Python生成隨機的驗證碼,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起試試
    2022-01-01
  • 在python中調(diào)用C/C++的三種方法

    在python中調(diào)用C/C++的三種方法

    這篇文章主要給大家介紹了關(guān)于在python中調(diào)用C/C++的三種方法,Python可以通過調(diào)用C/C++接口來實現(xiàn)與C/C++語言的交互,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • Python內(nèi)建類型list源碼學(xué)習(xí)

    Python內(nèi)建類型list源碼學(xué)習(xí)

    這篇文章主要為大家介紹了Python內(nèi)建類型list源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • django頁面跳轉(zhuǎn)問題及注意事項

    django頁面跳轉(zhuǎn)問題及注意事項

    這篇文章主要介紹了django頁面跳轉(zhuǎn)問題及注意事項,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • python 如何比較字符串是否一樣

    python 如何比較字符串是否一樣

    這篇文章主要介紹了python 如何比較字符串是否一樣的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 簡單介紹Python中的decode()方法的使用

    簡單介紹Python中的decode()方法的使用

    這篇文章主要介紹了簡單介紹Python中的decode()方法的使用,是Python入門學(xué)習(xí)當(dāng)中必須掌握的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • LyScript獲取上一條與下一條匯編指令的方法詳解

    LyScript獲取上一條與下一條匯編指令的方法詳解

    LyScript 插件默認并沒有提供上一條與下一條匯編指令的獲取功能,當(dāng)然你可以使用LyScriptTools工具包直接調(diào)用內(nèi)置命令得到,本文就為大家詳細講講如何實現(xiàn)
    2022-07-07
  • Python查找兩個有序列表中位數(shù)的方法【基于歸并算法】

    Python查找兩個有序列表中位數(shù)的方法【基于歸并算法】

    這篇文章主要介紹了Python查找兩個有序列表中位數(shù)的方法,結(jié)合實例形式分析了Python基于歸并算法遍歷、計算有序列表相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • OpenCV半小時掌握基本操作之圖像輪廓

    OpenCV半小時掌握基本操作之圖像輪廓

    這篇文章主要介紹了OpenCV基本操作之圖像輪廓,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09

最新評論

曲沃县| 安西县| 达拉特旗| 陈巴尔虎旗| 进贤县| 西和县| 怀仁县| 馆陶县| 安达市| 长子县| 泽州县| 施秉县| 高青县| 内乡县| 公安县| 濮阳市| 方城县| 崇义县| 来凤县| 清新县| 张家界市| 盐源县| 清水河县| 城口县| 东宁县| 新民市| 临武县| 桓台县| 南江县| 陵水| 江口县| 辽中县| 竹溪县| 吴忠市| 石门县| 皮山县| 华阴市| 兴业县| 措美县| 麻阳| 桂东县|