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

Python selenium抓取微博內(nèi)容的示例代碼

 更新時間:2018年05月17日 13:42:19   作者:海天一樹X  
本篇文章主要介紹了Python selenium抓取微博內(nèi)容的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Selenium簡介與安裝

Selenium是什么?

Selenium也是一個用于Web應(yīng)用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE、Mozilla Firefox、Mozilla Suite等。

安裝

直接使用pip命令安裝即可!

pip install selenium

Python抓取微博有兩種方式,一是通過selenium自動登錄后從頁面直接爬取,二是通過api。

這里采用selenium的方式。

程序:

from selenium import webdriver
import time
import re
#全局變量
driver = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")

def loginWeibo(username, password):
  driver.get('https://passport.weibo.cn/signin/login')
  time.sleep(1)

  driver.find_element_by_id("loginName").send_keys("haishu_zheng@163.com")
  driver.find_element_by_id("loginPassword").send_keys("Weibo01061122")

  time.sleep(1)
  driver.find_element_by_id("loginAction").click()

  #driver.close()
  
def visitUserPage(userId):
  driver.get('http://weibo.cn/' + userId)

  print('********************')  
  print('用戶資料')
  
  # 1.用戶id
  print('用戶id:' + userId)
  
  # 2.用戶昵稱
  strName = driver.find_element_by_xpath("http://div[@class='ut']")
  strlist = strName.text.split(' ')
  nickname = strlist[0]
  print('昵稱:' + nickname)
  
  # 3.微博數(shù)、粉絲數(shù)、關(guān)注數(shù)
  strCnt = driver.find_element_by_xpath("http://div[@class='tip2']")
  pattern = r"\d+\.?\d*" # 匹配數(shù)字,包含整數(shù)和小數(shù)
  cntArr = re.findall(pattern, strCnt.text)
  print(strCnt.text)
  print("微博數(shù):" + str(cntArr[0]))
  print("關(guān)注數(shù):" + str(cntArr[1]))
  print("粉絲數(shù):" + str(cntArr[2]))
  
  print('\n********************')
  # 4.將用戶信息寫到文件里
  with open("weibo.txt", "w", encoding = "gb18030") as file:
    file.write("用戶ID:" + userId + '\r\n')
    file.write("昵稱:" + nickname + '\r\n')
    file.write("微博數(shù):" + str(cntArr[0]) + '\r\n')
    file.write("關(guān)注數(shù):" + str(cntArr[1]) + '\r\n')
    file.write("粉絲數(shù):" + str(cntArr[2]) + '\r\n')
    
  # 5.獲取微博內(nèi)容
  # http://weibo.cn/ + userId + ? filter=0&page=1
  # filter為0表示全部,為1表示原創(chuàng)
  print("微博內(nèi)容")
  
  pageList = driver.find_element_by_xpath("http://div[@class='pa']")
  print(pageList.text)
  pattern = r"\d+\d*"     # 匹配數(shù)字,只包含整數(shù)
  pageArr = re.findall(pattern, pageList.text)
  totalPages = pageArr[1]   # 總共有多少頁微博
  print(totalPages)
  
  pageNum = 1     # 第幾頁
  numInCurPage = 1      # 當(dāng)前頁的第幾條微博內(nèi)容
  contentPath = "http://div[@class='c'][{0}]"
  while(pageNum <= 3):  
  #while(pageNum <= int(totalPages)):
    contentUrl = "http://weibo.cn/" + userId + "?filter=0&page=" + str(pageNum)
    driver.get(contentUrl)
    content = driver.find_element_by_xpath(contentPath.format(numInCurPage)).text
    # print("\n" + content) # 微博內(nèi)容,包含原創(chuàng)和轉(zhuǎn)發(fā)
    if "設(shè)置:皮膚.圖片.條數(shù).隱私" not in content:
      numInCurPage += 1
      with open("weibo.txt", "a", encoding = "gb18030") as file:
        file.write("\r\n" + "\r\n" + content)  # 將微博內(nèi)容逐條寫到weibo.txt中
    else:
      pageNum += 1            # 抓取新一頁的內(nèi)容
      numInCurPage = 1          # 每一頁都是從第1條開始抓    
    
if __name__ == '__main__':
  username = 'haishu_zheng@163.com'  # 輸入微博賬號
  password = 'Weibo01061122'     # 輸入密碼
  loginWeibo(username, password)   # 要先登錄,否則抓取不了微博內(nèi)容
  time.sleep(3)
  uid = 'xywyw'            # 尋醫(yī)問藥
  visitUserPage(uid)

運行結(jié)果:

同時還生成了weibo.txt文件,內(nèi)容如下

這種方法有個缺陷,就是爬取較多內(nèi)容會被封IP:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python獲得兩個數(shù)組交集、并集、差集的方法

    python獲得兩個數(shù)組交集、并集、差集的方法

    這篇文章主要介紹了python獲得兩個數(shù)組交集、并集、差集的方法,實例分析了Python操作list集合的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Python中print函數(shù)簡單使用總結(jié)

    Python中print函數(shù)簡單使用總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于Python中怎么使用print函數(shù)的相關(guān)知識點內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2019-08-08
  • Python趣味挑戰(zhàn)之教你用pygame畫進度條

    Python趣味挑戰(zhàn)之教你用pygame畫進度條

    pygame四種方法教會你畫進度條,其實也不難,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • 學(xué)習(xí)python可以干什么

    學(xué)習(xí)python可以干什么

    在本文里我們給大家分享了關(guān)于學(xué)習(xí)python的前途以及告訴大家可以做什么,正在學(xué)習(xí)PYTHON的朋友們學(xué)習(xí)下。
    2019-02-02
  • Flask框架實現(xiàn)給視圖函數(shù)增加裝飾器操作示例

    Flask框架實現(xiàn)給視圖函數(shù)增加裝飾器操作示例

    這篇文章主要介紹了Flask框架實現(xiàn)給視圖函數(shù)增加裝飾器操作,結(jié)合實例形式分析了flask框架視圖添加裝飾器的具體操作方法及相關(guān)注意事項,需要的朋友可以參考下
    2018-07-07
  • python中.format()方法使用詳解

    python中.format()方法使用詳解

    這篇文章主要介紹了python中.format()方法使用詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • 淺談Python任務(wù)自動化工具Tox基本用法

    淺談Python任務(wù)自動化工具Tox基本用法

    這篇文章主要介紹了淺談Python任務(wù)自動化工具Tox,tox 是一個管理測試虛擬環(huán)境的命令行工具, 它已存在多年且廣被開發(fā)者們使用,對Python任務(wù)自動化工具Tox基本用法感興趣的朋友一起看看吧
    2022-06-06
  • 使用python實現(xiàn)一個簡單的圖片爬蟲

    使用python實現(xiàn)一個簡單的圖片爬蟲

    在本文中,我們將學(xué)習(xí)如何使用Python創(chuàng)建一個簡單的圖片爬蟲,我們將利用requests庫來發(fā)送HTTP請求,BeautifulSoup庫來解析HTML頁面,以及os和shutil庫來下載和保存圖片,通過這個教程,你將學(xué)會如何爬取網(wǎng)頁上的圖片并保存到本地,需要的朋友可以參考下
    2024-02-02
  • python基于pyppeteer制作PDF文件

    python基于pyppeteer制作PDF文件

    這篇文章主要介紹了python基于pyppeteer制作PDF文件的方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • 解決python tkinter界面卡死的問題

    解決python tkinter界面卡死的問題

    今天小編就為大家分享一篇解決python tkinter界面卡死的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07

最新評論

文安县| 华安县| 灵川县| 锡林郭勒盟| 雷山县| 敦化市| 伽师县| 萨迦县| 无棣县| 杭锦后旗| 彭山县| 清涧县| 安西县| 黎川县| 杭锦后旗| 绥滨县| 思南县| 淄博市| 大同市| 东兰县| 微博| 临澧县| 庄河市| 吴江市| 阳山县| 平昌县| 安西县| 新津县| 汉阴县| 龙州县| 南康市| 胶州市| 乳源| 都安| 新兴县| 洪泽县| 刚察县| 灵石县| 沙湾县| 健康| 峡江县|