Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 刮掉Facebook喜欢的东西_Python_Facebook_Web Scraping_Beautifulsoup - Fatal编程技术网

Python 刮掉Facebook喜欢的东西

Python 刮掉Facebook喜欢的东西,python,facebook,web-scraping,beautifulsoup,Python,Facebook,Web Scraping,Beautifulsoup,我想刮一个网站的喜欢的数量。使用BeautifulSoup,我得到了以下结果: user = 'LazadaMalaysia' url = 'https://www.facebook.com/'+ user response = requests.get(url) soup = BeautifulSoup(response.content,'lxml') f = soup.find('div', attrs={'class': '_4bl9'}) 我收到的f的输出如下: <div cl

我想刮一个网站的喜欢的数量。使用BeautifulSoup,我得到了以下结果:

user = 'LazadaMalaysia'

url = 'https://www.facebook.com/'+ user
response = requests.get(url)
soup = BeautifulSoup(response.content,'lxml')
f = soup.find('div', attrs={'class': '_4bl9'})
我收到的f的输出如下:

<div class="_4bl9 _3bcp"><div aria-keyshortcuts="Alt+/" aria-label="Pembantu Navigasi" class="_6a _608n" id="u_0_8" role="menubar"><div class="_6a uiPopover" id="u_0_9"><a aria-expanded="false" aria-haspopup="true" class="_42ft _4jy0 _55pi _2agf _4o_4 _63xb _p _4jy3 _517h _51sy" href="#" id="u_0_a" rel="toggle" role="button" style="max-width:200px;"><span class="_55pe">Bahagian-bahagian pada halaman ini</span><span class="_4o_3 _3-99"><i class="img sp_m7lN5cdLBIi sx_d3bfaf"></i></span></a></div><div class="_6a _3bcs"></div><div class="_6a mrm uiPopover" id="u_0_b"><a aria-expanded="false" aria-haspopup="true" class="_42ft _4jy0 _55pi _2agf _4o_4 _3_s2 _63xb _p _4jy3 _4jy1 selected _51sy" href="#" id="u_0_c" rel="toggle" role="button" style="max-width:200px;" tabindex="-1"><span class="_55pe">Bantuan Kebolehcapaian</span><span class="_4o_3 _3-99"><i class="img sp_m7lN5cdLBIi sx_0a4c0e"></i></span></a></div></div></div>

我使用了此链接中的代码:

不幸的是,它不起作用,我也不明白为什么会这样。以下是我想删掉的部分:


类“4-3”中的span标记中有like。下面是提取like的代码

import requests
from bs4 import BeautifulSoup
user = 'LazadaMalaysia'
url = 'https://www.facebook.com/'+ user
response = requests.get(url)
soup = BeautifulSoup(response.content,'lxml')
f = soup.find('div', attrs={'class': '_4-u3 _5sqi _5sqk'})
likes=f.find('span',attrs={'class':'_52id _50f5 _50f7'}) #finding span tag inside class
print(likes.text)

我希望我已经解决了你的问题。

我发现以下几点很容易理解。它应该获取喜欢的数量并跟随

import re
import requests
from bs4 import BeautifulSoup

def get_info(user,url):
    response = requests.get(f'{url}{user}')
    soup = BeautifulSoup(response.text,'lxml')
    like = soup.find("div",text=re.compile('people like this')).text
    follow = soup.find("div",text=re.compile('people follow this')).text
    print(f'likes: {like}\nfollows: {follow}\n')

if __name__ == '__main__':
    url = "https://www.facebook.com/"
    users = ['LazadaMalaysia','ronaldo','rihanna']
    [get_info(user,url) for user in users]

看起来类
\u 4b19
有多个
div
,因为您使用的是
find()
,所以只需从页面中为您提供该类的第一个实例。我想说的一点是,你想要的关于like的特定的
div
可能在页面的下面,而你只是还没有抓住它。使用
find_all()
将为您提供一个所有类的列表
\u 4b19
,尝试查看该列表,看看您是否找到了喜欢的类,或者您可能需要重新编写
find()
的参数。不幸的是,find_all()的想法是一样的返回一个空列表,因此无法正确地将其过滤掉。尝试使用“像这样的人”字符串并重新搜索,因为它在页面源代码中是唯一的。提供
soup。查找所有(“div”,string=“像这样的人”)
快照?仍然返回空列表=/不要刮脸书,这是不允许的。您只需使用API即可实现此目的:@shivank01您知道如何废弃追随者吗?我想我只需要更改类代码,但我不知道如何。。。提前谢谢你!