Соскоб с веб-страницы входа - PullRequest
1 голос
/ 11 июля 2019

Я пытаюсь использовать python для очистки веб-страницы со страницей входа. Я попытался использовать несколько примеров из stackoverflow, которые были приняты в качестве рабочих примеров, но, похоже, ни один из них не работает для меня

Попытка 1:

import requests
from lxml import html

USERNAME = "my username"
PASSWORD = "my password"
TOKEN = "my token"

LOGIN_URL = "https://example.com/admin/login"
URL = "https://example.com/admin/tickets"

session_requests = requests.session()

# Get login csrf token
result = session_requests.get(LOGIN_URL)
tree = html.fromstring(result.text)authenticity_token = list(set(tree.xpath("//input[@name='_token']/@value")))[0]

# Create payload
payload = {
"name": USERNAME, 
"password": PASSWORD, 
"_token": TOKEN
}

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

# Scrape url
result = session_requests.get(URL, headers = dict(referer = URL))
tree = html.fromstring(result.content)
bucket_names = tree.xpath("//div[@class='a']/a/text()")

print(bucket_names)

Попытка 2:

import requests
from bs4 import BeautifulSoup

username = 'my username'
password = 'my password'
scrape_url = 'https://example.com/admin/tickets'

login_url = 'https://example.com/admin/login'
login_info = {'name': username,'password': password}

#Start session.
session = requests.session()

#Login using your authentication information.
session.post(url=login_url, data=login_info)

#Request page you want to scrape.
url = session.get(url=scrape_url)

soup = BeautifulSoup(url.content, 'html.parser')

for link in soup.findAll('a'):
print('\nLink href: ' + link['href'])
print('Link text: ' + link.text)

Первый пример печатает результат:

[]

Во-вторых, дайте мне ссылки со страницы входа в систему, а не ссылки с основного URL-адреса srape

Я действительно не уверен, в чем проблема, любые указатели будут с благодарностью

Спасибо

Ryan

...