首页 > 解决方案 > 通过python提交帖子并通过bs4抓取

问题描述

我正在尝试制作一个工具来抓取 facebooks 密码重置链接的结果页面并让脚本打印出电子邮件,但我的问题是它没有提交有效负载,不确定我做错了什么,但任何帮助将不胜感激,我是新手刮擦并试图使脚本以最少的行数工作,直到我变得更好...

简而言之,尝试提交帖子并抓取下一页的电子邮件...

from bs4 import BeautifulSoup
import requests

url = "https://www.facebook.com/login/identify/"
target_profile = raw_input("Enter the Target's Profile Link: ")
payload = {"email": target_profile, "submit": "submit"}
r = requests.post(url, data=payload)

html_soup = BeautifulSoup(r.content, 'html.parser')
type(html_soup)
#info_container = html_soup.find_all('div', class_= 'uiInputLabel clearfix uiInputLabelLegacy')
#print(type(info_container))
#print(len(info_container))

email_scraper = html_soup.find('div', class_= '_8u _42ef')

for text in email_scraper:
        print(text.prettify())

标签: python-3.xweb-scrapingbeautifulsouppython-requestsfacebook-app-requests

解决方案


您忘记使用以下命令序列化您的有效负载json.dumps

import json

payload = json.dumps({"email": target_profile, "submit": "submit"})
r = requests.post(url, data=payload)
...

推荐阅读