eduardolundgren / tracking.js

A modern approach for Computer Vision on the web
http://trackingjs.com
Other
9.43k stars 1.44k forks source link

Parse links (href) on tables in aspx (HTML Type) with Python #344

Closed TeonaEcon closed 4 years ago

TeonaEcon commented 5 years ago

Description

I am trying to get all the linked pages given on the table on this aspx page: https://reportal.ge/BannersMenu/Detailed-search-for-reports.aspx?lang=en-US

What I Did

I tried to parse the HTML and get all links from there. The only thing what gave me back some result was:

from bs4 import BeautifulSoup as soup  # HTML data structure
from urllib.request import urlopen as uReq  # Web client
import csv

page_url = "https://reportal.ge/Forms.aspx?payerCode=401985107&SystemID=9571&show=1&np=1&cid=-1&prd=show?Submit=ENE&N=-1&IsNodeId=1&Description=GTX&bop=And&Page=1&PageSize=36&order=BESTMATCH"
# opens the connection and downloads html page from url
uClient = uReq(page_url)

# parses html into a soup data structure
# as if it were a json data type.
page_soup = soup(uClient.read(), "html.parser") #parses/cuts the HTML
print(page_soup) #prints the HTML. 

Please, would you have any suggestion how to get the linked pages (they are individual pages for each company)?

murat-aka commented 5 years ago

https://medium.freecodecamp.org/how-to-scrape-websites-with-python-and-beautifulsoup-5946935d93fe

TeonaEcon commented 5 years ago

I did try that as well, but could not find the links I wanted .

The link of the webpage: "https://reportal.ge/Forms.aspx?payerCode=204935400&SystemID=6160&show=1&np=1&cid=IV&prd=show"

From the table I need to get the links to the company pages. The code which scrapes links (hrefs):

`#pip install regex from bs4 import BeautifulSoup from urllib.request import Request, urlopen import re

req = Request("https://reportal.ge/Forms.aspx?payerCode=204935400&SystemID=6160&show=1&np=1&cid=IV&prd=show") html_page = urlopen(req)

soup = BeautifulSoup(html_page, "lxml")

links = [] for link in soup.findAll('a'): links.append(link.get('href'))

print(links)`

does not print the right links (href) of company pages, but works for other websites

Code behind the website

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

ანგარიშგების პორტალი - ანგარიშგებების რეესტრი

საიტი მუშაობს სატესტო რეჟიმში

მიიღე ინფორმაცია სუბიექტის შესახებ:

ანგარიშგებების პორტალზე სუბიექტის შესახებ ხელმისაწვდომია შემდეგი ტიპის ინფორმაცია:

  • სუბიექტის პროფილის ინფორმაცია
  • სუბიექტის ფინანსური და/ან მმართველობის ანგარიშგება
  • სუბიექტის ჯგუფის შესახებ ინფორმაცია
  • სუბიექტის აუდიტორების შესახებ ინფორმაცია
სუბიექტის ძიება
სუბიექტის დასახელება/საიდენტ. კოდი
სამართლებრივი ფორმა
კატეგორია
 
საიდენტიფიკაციო #დასახელებაკატეგორიაძირითადი საქმიანობასამართლებრივი ფორმა
205156374სს საქართველოს ფასიანი ქაღალდების გაერთიანებული რეგისტრატორიIVსაფინანსო მომსახურების სხვა დამხმარე საქმიანობები, სადაზღვევო და საპენსიო ფონდების გარდასააქციო საზოგადოება
404534170სს ზირაათ ბანკი საქართველოსდპკომერციული ბანკების საქმიანობასააქციო საზოგადოება
401985107შპს მიკროსაფინანსო ორგანიზაცია ჯორჯიან ინტერნეიშენალ მისოსდპსხვა სახის საკრედიტო მომსახურებაშპს
216425919შპს ჯეოსთილიIფოლადის მილების, მილსადენების, ღრუ პროფილების და მსგავსი ფიტინგების წარმოებაშპს
412675779შპს მიკროსაფინანსო ორგანიზაცია (მისო) სვის-კრედიტისდპსხვა სახის საკრედიტო მომსახურებაშპს
205274273სს მიკროსაფინანსო ორგანიზაცია სვის კაპიტალსდპსხვა სახის საკრედიტო მომსახურებასააქციო საზოგადოება
204929961შპს თიბისი კაპიტალიIVფასიან ქაღალდებთან და სასაქონლო კონტრაქტებთან დაკავშირებული საბროკერო მომსახურებაშპს
204542003სს ექსპრეს ტექნოლოჯიზIVსაფინანსო მომსახურების სხვა საქმიანობები, სადაზღვევო და საპენსიო ფონდების გარდა, სხვა დაჯგუფებებში ჩაურთველისააქციო საზოგადოება
204970031სს დაზღვევის კომპანია ქართუსდპდაზღვევის სხვა სახეებისააქციო საზოგადოება
404910637შპს მიკროსაფინანსო ორგანიზაცია კრედიტორისდპსხვა სახის საკრედიტო მომსახურებაშპს
12345678910...>>

© ბუღალტრული აღრიცხვის, ანგარიშგებისა და აუდიტის ზედამხედველობის სამსახური. 2018

murat-aka commented 5 years ago
TeonaEcon commented 4 years ago

I used ScrapStorm AI based program :) I found it faster.