国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【爬蟲項(xiàng)目-4】微博超話內(nèi)容爬取/selenium使用教學(xué)

這篇具有很好參考價(jià)值的文章主要介紹了【爬蟲項(xiàng)目-4】微博超話內(nèi)容爬取/selenium使用教學(xué)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、代碼撰寫目的

閑來(lái)無(wú)事想了解王者榮耀某個(gè)英雄最近的風(fēng)評(píng),例如是版本之子嗎or出裝怎么搭配or大家對(duì)策劃這次改動(dòng)有何看法,發(fā)現(xiàn)微博超話這方面的內(nèi)容非常多,于是想把超話內(nèi)容爬取下來(lái)做進(jìn)一步數(shù)據(jù)分析。溫馨提示 本代碼可以適用于任何微博超話內(nèi)容的爬取,只需修改url即可。

二、網(wǎng)頁(yè)結(jié)構(gòu)

可以看到超話一打開(kāi),網(wǎng)頁(yè)是如下布局,一篇帖子大概包含如下一些信息:用戶id、發(fā)布時(shí)間、來(lái)自xxx超話、帖子正文內(nèi)容以及收藏、轉(zhuǎn)發(fā)、評(píng)論、點(diǎn)贊數(shù)量。

微博超話數(shù)據(jù)爬蟲,爬蟲

再往下翻會(huì)發(fā)現(xiàn),通常無(wú)法完整加載出來(lái)一整夜,會(huì)下翻會(huì)觸發(fā)加載,所以說(shuō)這是一個(gè)動(dòng)態(tài)網(wǎng)頁(yè)

微博超話數(shù)據(jù)爬蟲,爬蟲想要批量爬取上百頁(yè)超話內(nèi)容,我們不僅要克服動(dòng)態(tài)加載還要實(shí)現(xiàn)自動(dòng)翻頁(yè)

三、代碼主體

話不多說(shuō),上菜

版本一定要注意,selenium的版本會(huì)影響后面代碼的編寫

import time
from bs4 import BeautifulSoup #4.10.0
from selenium import webdriver #3.141.0
from xlrd import open_workbook
from xlutils.copy import copy
import eventlet#導(dǎo)入eventlet這個(gè)模塊

配置webdriver,webdriver的路徑根據(jù)自己實(shí)際進(jìn)行配置,一定要下載和自己電腦谷歌瀏覽器版本相匹配的的webdriver否則會(huì)出現(xiàn)錯(cuò)誤,怎么查看自己谷歌瀏覽器版本可以自行百度,Chromewebdriver下載鏈接也可以自行百度,網(wǎng)上一大堆,下載完成之后解壓出來(lái)exe放到自己的項(xiàng)目路徑下就可以。

這里的base_url可以根據(jù)自己爬取的超話進(jìn)行修改,baseurl是用于后面翻頁(yè)的,所以u(píng)rl最后是page=而不是page=xx(某一具體數(shù)字)

#調(diào)用selenium工具
options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-automation'])
driver = webdriver.Chrome(executable_path=r"chromedriver.exe", options=options)

base_url = "https://s.weibo.com/weibo?q=%E7%8E%8B%E8%80%85%E8%8D%A3%E8%80%80%E8%B6%85%E8%AF%9D%E4%BC%A0%E7%BB%9F%E6%96%87%E5%8C%96&page="

下面這段代碼用于登錄微博(不登錄的話無(wú)法批量爬?。?,其中cookies需要自己配置(登錄自己的微博然后復(fù)制自己的cookies),cookies如何獲取可以百度(真的很多教學(xué),這里就不展開(kāi)篇幅說(shuō)了)

driver.get("https://weibo.com/p/100808ccb61d96c8f867d4f6c412e95c4f173a/super_index?current_page=3&since_id=4878245637659820&page=2#1678548112338")
driver.delete_all_cookies()
cookies ={}
for cookie in cookies:
    cookie_dict = {
    'domain': '.weibo.com',
'name': cookie.get('name'),
'value': cookie.get('value'),
"expires": cookie.get('value'),
'path': '/',
'httpOnly': False,
'HostOnly': False,
'Secure': False}
    driver.add_cookie(cookie_dict)
driver.refresh()

如果實(shí)在不會(huì)配置,可以采用下面這段代碼,即直接暫停一分鐘,自己手動(dòng)登錄一下

driver.get("https://weibo.com/p/100808ccb61d96c8f867d4f6c412e95c4f173a/super_index?current_page=3&since_id=4878245637659820&page=2#1678548112338")
driver.delete_all_cookies()
time.sleep(60)

下面這段代碼用于解決動(dòng)態(tài)加載,即一直自動(dòng)下滑直到觸底

driver.get(url)
time.sleep(5)
eventlet.monkey_patch()  # 必須加這條代碼
with eventlet.Timeout(10, False):  # 設(shè)置超時(shí)時(shí)間為20秒
        while True:
            # 循環(huán)將滾動(dòng)條下拉
            driver.execute_script("window.scrollBy(0,1000)")
            # sleep一下讓滾動(dòng)條反應(yīng)一下
            time.sleep(0.05)
            # 獲取當(dāng)前滾動(dòng)條距離頂部的距離
            check_height = driver.execute_script(
                "return document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;")
            # 如果兩者相等說(shuō)明到底了
            if check_height >9000:
                break

再往下的代碼都是用于定位元素,爬取內(nèi)容的,真正的難題已經(jīng)都被解決了,因?yàn)橛^察到有的帖子內(nèi)容比較長(zhǎng),需要點(diǎn)擊展開(kāi)才能爬取完整內(nèi)容,因此自動(dòng)定位頁(yè)面中所有展開(kāi)字樣并自動(dòng)點(diǎn)擊再進(jìn)行帖子正文抓取

    elements = driver.find_elements_by_css_selector(
        "div.content p.txt a")
    for i in  elements:
        if "展開(kāi)" in i.text:
            driver.execute_script("arguments[0].click()",i)

保存數(shù)據(jù)

    r_xls = open_workbook(r"帖子內(nèi)容.xlsx")  # 讀取excel文件
    row = r_xls.sheets()[0].nrows  # 獲取已有的行數(shù)
    excel = copy(r_xls)  # 將xlrd的對(duì)象轉(zhuǎn)化為xlwt的對(duì)象
    worksheet = excel.get_sheet(0)  # 獲取要操作的sheet
    # 對(duì)excel表追加一行內(nèi)容
    for i in range(len(chuantong)):
        worksheet.write(row, 0, chuantong[i])  # 括號(hào)內(nèi)分別為行數(shù)、列數(shù)、內(nèi)容

        row += 1
    excel.save(r"帖子內(nèi)容.xlsx")  # 保存并覆蓋文件

四、注意事項(xiàng)(完整的代碼和數(shù)據(jù)在公主號(hào)和Github)

大家白嫖代碼的時(shí)候一定要注意我標(biāo)明的三方庫(kù)版本,版本不對(duì)很有可能會(huì)出錯(cuò),此外最后保存數(shù)據(jù)的方法有很多大家可以自行挑選更改。

最重要的一點(diǎn),如果大家覺(jué)得有用跪求大家給我一個(gè)關(guān)注和點(diǎn)贊,有不懂的問(wèn)題可以私信或者留言,歡迎大家關(guān)注我的公主號(hào),上面有更多更詳盡的代碼,喜歡白嫖的有福了。

微博超話數(shù)據(jù)爬蟲,爬蟲

GitHub - Maekfei/Spider-projects: 爬蟲實(shí)戰(zhàn),集合了數(shù)十個(gè)爬蟲實(shí)戰(zhàn)代碼,全都親測(cè)可用,借鑒麻煩點(diǎn)個(gè)star謝謝 同時(shí)歡迎訪問(wèn)我的github主頁(yè),copy代碼的同時(shí)別忘了點(diǎn)個(gè)star 謝謝!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-854048.html

到了這里,關(guān)于【爬蟲項(xiàng)目-4】微博超話內(nèi)容爬取/selenium使用教學(xué)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 爬蟲項(xiàng)目實(shí)戰(zhàn)2.1 Selenium爬取Boss招聘信息

    完成: 1.爬取信息 2.基于爬取結(jié)果篩選符合條件的信息 ? ?崗位名稱、薪資、崗位要求、地區(qū)、公司名稱、公司規(guī)模、細(xì)節(jié)鏈接 3.篩選base杭州的崗位保存到csv文件中 But容易出現(xiàn)網(wǎng)絡(luò)不穩(wěn)定造成的無(wú)法定位元素所在位置的情況,小范圍爬取可以 4.基于csv分析后續(xù)

    2024年02月05日
    瀏覽(25)
  • Python爬蟲 | 爬取微博和嗶哩嗶哩數(shù)據(jù)

    目錄 一、bill_comment.py 二、bili_comment_pic.py 三、bilibili.py 四、bilihot_pic.py 五、bilisearch_pic.py 六、draw_cloud.py 七、weibo.py 八、weibo_comment.py 九、weibo_comment_pic.py 十、weibo_pic.py 十一、weibo_top.py 十二、weibo_top_pic.py 十三、weibo_top_pie.py 十四、pachong.py 十五、代碼文件說(shuō)明 pachong: b站、

    2024年02月12日
    瀏覽(26)
  • 微博數(shù)據(jù)采集,微博爬蟲,微博網(wǎng)頁(yè)解析,完整代碼(主體內(nèi)容+評(píng)論內(nèi)容)

    微博數(shù)據(jù)采集,微博爬蟲,微博網(wǎng)頁(yè)解析,完整代碼(主體內(nèi)容+評(píng)論內(nèi)容)

    參加新聞比賽,需要獲取大眾對(duì)某一方面的態(tài)度信息,因此選擇微博作為信息收集的一部分 微博主體內(nèi)容 微博評(píng)論內(nèi)容 一級(jí)評(píng)論內(nèi)容 二級(jí)評(píng)論內(nèi)容 以華為發(fā)布會(huì)這一熱搜為例子,我們可以通過(guò)開(kāi)發(fā)者模式得到信息基本都包含在下面的 div tag中 我們通過(guò)網(wǎng)絡(luò)這一模塊進(jìn)行解

    2024年03月14日
    瀏覽(24)
  • 爬蟲項(xiàng)目實(shí)戰(zhàn):利用基于selenium框架的爬蟲模板爬取豆瓣電影Top250

    爬蟲項(xiàng)目實(shí)戰(zhàn):利用基于selenium框架的爬蟲模板爬取豆瓣電影Top250

    ?? Hi, I’m @貨又星 ?? I’m interested in … ?? I’m currently learning … ?? I’m looking to collaborate on … ?? How to reach me … README 目錄(持續(xù)更新中) 各種錯(cuò)誤處理、爬蟲實(shí)戰(zhàn)及模板、百度智能云人臉識(shí)別、計(jì)算機(jī)視覺(jué)深度學(xué)習(xí)CNN圖像識(shí)別與分類、PaddlePaddle自然語(yǔ)言處理知識(shí)圖譜、

    2024年02月04日
    瀏覽(32)
  • 爬蟲與數(shù)據(jù)分析項(xiàng)目實(shí)戰(zhàn)2.1 Selenium爬取Boss招聘信息

    完成: 1.爬取信息 2.基于爬取結(jié)果篩選符合條件的信息 ? ?崗位名稱、薪資、崗位要求、地區(qū)、公司名稱、公司規(guī)模、細(xì)節(jié)鏈接 3.篩選base杭州的崗位保存到csv文件中 But容易出現(xiàn)網(wǎng)絡(luò)不穩(wěn)定造成的無(wú)法定位元素所在位置的情況,小范圍爬取可以 4.基于csv分析后續(xù)

    2024年02月08日
    瀏覽(26)
  • 【爬蟲實(shí)戰(zhàn)】用python爬取微博任意關(guān)鍵詞搜索結(jié)果、exe文件

    【爬蟲實(shí)戰(zhàn)】用python爬取微博任意關(guān)鍵詞搜索結(jié)果、exe文件

    項(xiàng)目功能簡(jiǎn)介: 1.交互式配置; 2.兩種任意來(lái)源(直接輸入、本地文件); 3.自動(dòng)翻頁(yè)(無(wú)限爬取); 4.指定最大翻頁(yè)頁(yè)碼; 5.數(shù)據(jù)保存到csv文件; 6.程序支持打包成exe文件; 7.項(xiàng)目操作說(shuō)明文檔; 一.最終效果 視頻演示: 用python爬取微博搜索結(jié)果、exe文件

    2024年02月02日
    瀏覽(29)
  • 用python語(yǔ)言爬蟲爬取微博評(píng)論--上--初步爬蟲(超詳細(xì)版,大學(xué)生不騙大學(xué)生)

    用python語(yǔ)言爬蟲爬取微博評(píng)論--上--初步爬蟲(超詳細(xì)版,大學(xué)生不騙大學(xué)生)

    目錄 一、找到頁(yè)面 ?二、學(xué)會(huì)使用檢查元素 2.1 打開(kāi)檢查元素界面 2.2 找到所有評(píng)論所在的位置 2.2.1 搜索評(píng)論 2.2.2 ?找到data表 三、基礎(chǔ)部分代碼實(shí)現(xiàn)???????? 全部已經(jīng)更完(下面兩個(gè)鏈接是中和下) https://blog.csdn.net/m0_68325382/article/details/137234661?spm=1001.2014.3001.5502 爬

    2024年04月10日
    瀏覽(34)
  • Python使用Selenium Webdriver爬取網(wǎng)頁(yè)所有內(nèi)容

    Python使用Selenium Webdriver爬取網(wǎng)頁(yè)所有內(nèi)容

    有時(shí)候,我們?cè)谟胾rllib或者requests庫(kù)抓取頁(yè)面時(shí),得到的html源代碼和瀏覽器中看到的不一樣。這將是我們面臨的一個(gè)非常常見(jiàn)的問(wèn)題?,F(xiàn)在網(wǎng)頁(yè)越來(lái)越多地采用Ajax、前端模塊化工具來(lái)構(gòu)建,整個(gè)網(wǎng)頁(yè)可能都是由JavaScript渲染出來(lái)的,也就是說(shuō)原始的HTML代碼可能就是一個(gè)空殼,

    2023年04月08日
    瀏覽(30)
  • Python爬蟲|使用Selenium輕松爬取網(wǎng)頁(yè)數(shù)據(jù)

    Python爬蟲|使用Selenium輕松爬取網(wǎng)頁(yè)數(shù)據(jù)

    1. 什么是selenium? Selenium是一個(gè)用于Web應(yīng)用程序自動(dòng)化測(cè)試工具。Selenium測(cè)試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作瀏覽器一樣。支持的瀏覽器包括IE,F(xiàn)irefox,Safari,Chrome等。 Selenium可以驅(qū)動(dòng)瀏覽器自動(dòng)執(zhí)行自定義好的邏輯代碼,也就是可以通過(guò)代碼完全模擬成人類使用

    2024年02月04日
    瀏覽(32)
  • 【爬蟲、數(shù)據(jù)可視化實(shí)戰(zhàn)】以“人口”話題為例爬取實(shí)時(shí)微博數(shù)據(jù)并進(jìn)行輿情分析

    【爬蟲、數(shù)據(jù)可視化實(shí)戰(zhàn)】以“人口”話題為例爬取實(shí)時(shí)微博數(shù)據(jù)并進(jìn)行輿情分析

    近期在weibo上討論的比較熱的話題無(wú)非就是“人口”了。TaoTao也看了一些大家發(fā)的內(nèi)容。但是感覺(jué)單純的看文字內(nèi)容不能很直觀的反應(yīng)出來(lái)大家的關(guān)切。索性就使用爬蟲對(duì)數(shù)據(jù)進(jìn)行爬取,同時(shí)結(jié)合著數(shù)據(jù)可視化的方式讓數(shù)據(jù)自己開(kāi)口說(shuō)話。那么接下來(lái)就讓我們使用技術(shù)進(jìn)行分

    2024年01月23日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包