When I enter something in 'cn', script will make query on website and give me table with multiple rows
from lxml import html
from lxml import etree
from lxml.etree import XPath
import requests
cn = input ('CN: ')
find_page = requests.get('search query' + cn + '')
tree = html.fromstring(find_page.content)
# //tr[2]/td[2]/a/text() is first row after <th>
com = tree.xpath('//tr[2]/td[2]/a/text()')
print ('COM:', com)
This code print me only first row from table on XPath location //tr[2] but I need to print all other table rows //tr[3]/td[2]/a/text()
//tr[4]/td[2]/a/text()
//tr[...]/td[2]/a/text()
EDIT:
After solving to get all items from table, I have result for example COM: ['DAP', 'DAPA', 'DAP FOOD']
all of this have href. I can access and scrape only on first link (DAP) but can't scrape from (DAPA and DAP FOOD)
from lxml import html
from lxml import etree
from lxml.etree import XPath
import requests
cn = input ('CN: ')
find_page = requests.get('search query' + cn + '')
tree = html.fromstring(find_page.content)
# //tr[2]/td[2]/a/text() is first row after <th>
com = tree.xpath('//tr/td[2]/a/text()')
link = tree.xpath('//tr/td[2]/a/@href')[0]
link = str(link)
com_link = ('website' + link)
page = requests.get(com_link)
tree = html.fromstring(page.content)
postal_code = tree.xpath('//span[@itemprop="postalCode"]/text()')[0]
print ('COM:', com)
print ('Postal Code', postal_code)
How can I access on DAP, DAPA, DAP FOOD and get postal_code from each?