Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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帐户的网站进行爬网?_Python_Python 3.x_Beautifulsoup_Python Requests_Web Crawler - Fatal编程技术网

如何对需要Python帐户的网站进行爬网?

如何对需要Python帐户的网站进行爬网?,python,python-3.x,beautifulsoup,python-requests,web-crawler,Python,Python 3.x,Beautifulsoup,Python Requests,Web Crawler,我正试图从中提取数据”https://seekingalpha.com/article/4414043-agenus-inc-agen-ceo-garo-armen-on-q4-2020-results-earnings-call-transcript". 下面是我的代码。然而,尽管它给了我HTML文件,但我无法访问实际的文章内容 此网站需要登录才能查看他们的文章。我已经通过了那个阶段,但我不能得到完整的文章。下面是我的代码 import requests from lxml import ht

我正试图从中提取数据”https://seekingalpha.com/article/4414043-agenus-inc-agen-ceo-garo-armen-on-q4-2020-results-earnings-call-transcript". 下面是我的代码。然而,尽管它给了我HTML文件,但我无法访问实际的文章内容

此网站需要登录才能查看他们的文章。我已经通过了那个阶段,但我不能得到完整的文章。下面是我的代码

import requests
from lxml import html
from bs4 import BeautifulSoup
from fake_useragent import UserAgent

USERNAME = "USERNAME"
PASSWORD = "PASSWORD"

LOGIN_URL = "http://www.seekingalpha.com/login"
URL = "https://seekingalpha.com/article/4414043-agenus-inc-agen-ceo-garo-armen-on-q4-2020-results-earnings-call-transcript"

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
ua=UserAgent()

hdr = {'User-Agent': ua.random,
      'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
      'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
      'Accept-Encoding': 'none',
      'Accept-Language': 'en-US,en;q=0.8',
      'Connection': 'keep-alive'}

def main():
    session_requests = requests.session()

    result = session_requests.get(LOGIN_URL)
    tree = html.fromstring(result.text)

    payload = {
        "email": USERNAME,
        "password": PASSWORD,
    }

    #result = session_requests.post(LOGIN_URL, data = payload, headers = dict(referer = LOGIN_URL))
    result = session_requests.post(LOGIN_URL, data = payload, headers=hdr)

    #result = session_requests.get(URL, headers = dict(referer = URL))
    result = session_requests.get(URL, headers=hdr)

    soup = BeautifulSoup(result.content,"lxml")
    print(soup)


if __name__ == '__main__':
    main()

如果您希望对其进行测试,可以创建一个示例帐户。如何获取全文?

如果网站使用JavaScript获取文章,您可能需要查看Selenium。漂亮的汤不起作用你确定登录有效吗?您是否查看了登录的
结果。文本
请求
是一个HTTP客户端;它检索特定URL上的文件内容。BeautifulSoup是一个HTML解析器,它解析HTML标记。它们都不会在检索到的页面上解释/执行JavaScript。如果文章的内容是使用JavaScript“绘制”的,那么您当前使用的抓取方法将无法工作。相反,选择使用Selenium或Puppeter之类的浏览器控制工具,它使您的脚本能够像普通用户的浏览器一样控制Chromium的真实实例并检索页面内容。