python之无法访问带有漂亮汤的推文 ID

zdz8207 阅读:24 2024-11-24 20:56:43 评论:0

我的目标是在 Twitter 搜索中检索正在发布的推文的 ID。到目前为止,我的代码如下所示:

import requests 
from bs4 import BeautifulSoup 
 
keys = some_key_words + " -filter:retweets AND -filter:replies" 
query = "https://twitter.com/search?f=tweets&vertical=default&q=" + keys + "&src=typd&lang=es" 
req = requests.get(query).text 
soup = BeautifulSoup(req, "lxml") 
 
for tweets in soup.findAll("li",{"class":"js-stream-item stream-item stream-item"}): 
    print(tweets) 

但是,这不会返回任何内容。是代码本身有问题还是我看错了源码的地方?我知道 ID 应该存储在这里:

<div class="stream"> 
  <ol class="stream-items js-navigable-stream" id="stream-items-id"> 
    <li class="js-stream-item stream-item stream-item" **data-item-id**="1210306781806833664" id="stream-item-tweet-1210306781806833664" data-item-type="tweet"> 

请您参考如下方法:

from bs4 import BeautifulSoup 
data = """ 
<div class="stream"> 
    <ol class="stream-items js-navigable-stream" id="stream-items-id"> 
        <li class="js-stream-item stream-item stream-item 
" **data-item-id**="1210306781806833664" 
id="stream-item-tweet-1210306781806833664" 
data-item-type="tweet" 
> 
        ... 
""" 
 
 
soup = BeautifulSoup(data, 'html.parser') 
 
for item in soup.findAll("li", {'class': 'js-stream-item stream-item stream-item'}): 
    print(item.get("**data-item-id**")) 

输出:

1210306781806833664 


标签:Python
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号