Разбор веб-страниц после входа в систему и извлечения данных из таблицы - PullRequest
0 голосов
/ 22 апреля 2020

Я сделал простой веб-парсер, использующий селен для добычи запасов на веб-сайте поставщика.

В настоящее время его функция заключается в том, чтобы войти на сайт, перейти на страницу заказов на сайте после входа в систему. введите штрих-код, чтобы отобразить список продуктов (не более 50), а затем извлеките данные из каждой строки таблицы: штрих-код, название продукта и уровень запасов. В настоящее время каждый из перечисленных продуктов имеет разные идентификаторы, которые я намерен обойти, проработав список идентификаторов, которые я сделал (нумерация 50, так как это самые отдельные продукты, показанные в таблице на веб-сайте). Указанные штрих-коды ищутся в электронной таблице Excel и индивидуально ищутся в поисковике штрих-кодов, это пример кода, с которым я сейчас работаю.

from selenium import webdriver
import pandas as pd

variables, fill in with stuff
usernameStr = 'putYourUsernameHere'
passwordStr = 'putYourPasswordHere'
browser = webdriver.Chrome()
browser.get(('website'))
pointer = 0

#opens workbook with barcodes and makes a list of them, fill in with stuff
df = pd.read_excel('filename.xlsm', sheetname=0) # can also index sheet by name or fetch all sheets
Barcodes = df['column name'].tolist()
length = len(Barcodes)

# fill in username and password and sign in
username = browser.find_element_by_id('UserName')
username.send_keys(usernameStr)
password = browser.find_element_by_id('Password')
password.send_keys(passwordStr)
signInButton = browser.find_element_by_id('ctl00_cplMain_Login2_LoginButton')
signInButton.click()

#go to barcode page, fill in with ids
navigateToOrdering = browser.find_element_by_id('')
navigateToOrdering.click()
stocksearcher = browser.find_element_by_id('')
stocksearcherbutton = browser.find_element_by_id('')

site_stock = browser.find_element_by_id('')
site_barcode = browser.find_element_by_id('')
site_name = browser.find_element_by_id('')
list_to_pass = ['product1value' - 'product2value']
listRange = len(list_to_pass)
for range in length:
    stocksearcher.send_keys(Barcodes[pointer])
    stocksearcherbutton.click()
    pointer =+1
        for range in listRange:
        stock = site_stock.get_attribute('title')
        barcode = site_barcode.get_attribute('title')
        name = site_name.get_attribute('title')

1 Ответ

0 голосов
/ 22 апреля 2020

Я предлагаю вам использовать Beautiful Soup 4, это библиотека, которая позволяет легко собирать информацию с веб-страниц. Вы найдете все документы здесь !

, чтобы установить его, используя команду:

pip install beautifulsoup4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...