如何使用 Python 3 登录站点并抓取

我想登录到 facebook messenger 并解析 HTML。


import requests

from bs4 import BeautifulSoup

import webbrowser

page = requests.get("https://www.messenger.com", auth=

('username', 'password'))


soup = BeautifulSoup(page, 'html.parser')


print(soup)

我从另一个堆栈问题中得到了这个,但它向我抛出了这个错误:


    File "C:/Code/Beautiful Soup Web Scraping.py", line 7, in <module>

    soup = len(BeautifulSoup(page, 'html.parser'))

  File "C:\Users\Ethan\AppData\Local\Programs\Python\Python37\lib\site-packages\bs4\__init__.py", line 246, in __init__

    elif len(markup) <= 256 and (

TypeError: object of type 'Response' has no len()

我怎样才能让它发挥作用?


侃侃无极
浏览 158回答 2
2回答

蝴蝶刀刀

您必须将网页的内容传递给 BeautifulSoup,而不是由Response返回的对象requests.get。要获取内容,请使用该Response.content属性。在您的示例中使用:&nbsp;soup = BeautifulSoup(page.content, 'html.parser')

GCT1015

我建议使用Selenium,这将允许您登录 Facebook,导航到所需的页面,并检索 html。然后,您可以将 HTML 传递给BeautifulSoup.&nbsp;看看这个博客文章开始。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python