第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用網(wǎng)絡(luò)抓取獲取推文的內(nèi)容

如何使用網(wǎng)絡(luò)抓取獲取推文的內(nèi)容

蕭十郎 2022-10-27 16:58:00
我嘗試過使用 puppeteer,但是我會(huì)嘗試通過傳入 x-path 來獲取信息,它永遠(yuǎn)不會(huì)返回任何信息。完全相同的程序適用于不同的網(wǎng)站,但不適用于 Twitter。有沒有辦法使用 Cheerio 或其他方法獲取推文的內(nèi)容?我可以訪問 twitter API,但是文檔很難理解。編輯代碼:這是我的 pupputeer 代碼,它出于某種原因掛在 await page.waitfornavigation() 僅用于 twitter。對(duì)于任何其他網(wǎng)站,這都有效。const Apify = require('apify'); var OldAlphaAIData = {TICKER:"", REF:"", SIGNAL:""} Apify.main(async () => {    const input = await Apify.getValue('INPUT');     const browser = await Apify.launchPuppeteer();    const page = await browser.newPage();    await page.goto('https://twitter.com/MarketsTicker');    await page.waitForNavigation();    do    {        console.log('ffff');        var timenow = new Date(); //Get Date        timenow.setHours(timenow.getHours() + 1);        var AlphaAIData = {TICKER:"", REF:"", SIGNAL:""};        var everything;        var everythingarray = [];         //xpath to 1st twitter message              const [el0] = await page.$x('/html/body/div/div/div/div[2]/main/div/div/div/div[1]/div/div[2]/div/div/div[2]/section/div/div/div/div[1]');            const txt0 = await el0.getProperty('textContent');        everything = await txt0.jsonValue();        console.log(everything);    }while(true);});
查看完整描述

1 回答

?
米脂

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊

不確定您嘗試從每條推文中提取的確切內(nèi)容以及您如何解決問題,但twitter 模塊的文檔非常簡(jiǎn)單,假設(shè)您正在使用基于問題標(biāo)簽的節(jié)點(diǎn)。


var Twitter = require('twitter');

 

var client = new Twitter({

  consumer_key: '',

  consumer_secret: '',

  access_token_key: '',

  access_token_secret: ''

});

 

var params = {screen_name: 'nodejs'};

client.get('statuses/user_timeline', params, function(error, tweets, response) {

  if (!error) {

    console.log(tweets);

  }

});

當(dāng)然,要實(shí)現(xiàn)這一點(diǎn),您需要注冊(cè)訪問 API 并使用適當(dāng)?shù)淖兞浚ㄈ?consumer_key、consumer_secret 等)提供這些詳細(xì)信息。


更新:我已經(jīng)設(shè)法讓您的代碼在 twitter 上運(yùn)行,請(qǐng)查看以下更改,最重要的是await page.waitForXPath(xpath);,它在嘗試獲取其內(nèi)容之前等待 xpath 首先加載。xpath 也不同,我在 DOM 內(nèi)部進(jìn)一步指出了保存消息的跨度。


const Apify = require('apify');


var OldAlphaAIData = { TICKER: "", REF: "", SIGNAL: "" }

Apify.main(async () => {

    const input = await Apify.getValue('INPUT');


    const browser = await Apify.launchPuppeteer();

    const page = await browser.newPage();

    const navigationPromise = page.waitForNavigation();

    await page.goto('https://twitter.com/MarketsTicker')

    await navigationPromise


    console.log('ffff');

    var timenow = new Date(); //Get Date

    timenow.setHours(timenow.getHours() + 1);

    var AlphaAIData = { TICKER: "", REF: "", SIGNAL: "" };

    var everything;

    var everythingarray = [];


    //xpath to 1st twitter message      

    const xpath = '/html/body/div/div/div/div[2]/main/div/div/div/div/div/div/div/div/div[2]/section/div/div/div/div[1]/div/div/article/div/div/div/div[2]/div[2]/div[2]/div[1]/div/span';

    await page.waitForXPath(xpath);

    const [el0] = await page.$x(xpath);

    const txt0 = await el0.getProperty('textContent');

    everything = await txt0.jsonValue();

    console.log(everything);


});

為簡(jiǎn)單起見,我刪除了無限循環(huán),因?yàn)樗鼰o限期地打印第一條推文。


查看完整回答
反對(duì) 回復(fù) 2022-10-27
  • 1 回答
  • 0 關(guān)注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)