Форум сайта python.su
0
Ошибка - AttributeError: ‘str’ object has no attribute ‘xpath’
from requests_html import HTMLSession session = HTMLSession() response = session.get('https:.....').text r = response.xpath('//*[@id="blgtble"]/tbody')
Отредактировано sasholy (Авг. 13, 2020 01:19:22)
Офлайн
857
https://requests-html.kennethreitz.org/
XPath is also supported (learn more):>>> r.html.xpath('a') [<Element 'a' class='btn' href='https://help.github.com/articles/supported-browsers'>]
r = session.get(url) r.html.xpath('a')
Отредактировано py.user.next (Авг. 13, 2020 02:50:51)
Офлайн
0
я не пойму, что нужно сделать со строкой
r = response.html.xpath('//*[@id="blgtble"]/tbody')
Отредактировано sasholy (Авг. 13, 2020 14:04:10)
Офлайн
568
sasholy
Каждый объект имеет свой тип.
У объекта согласно его питу есть набор свойств и методов.
С чего вы взяли, что объект response имеет свойство html?
Вам интерпретатор вполне очевидно сообщает, что объект типа str свойства html не имеет.
Более того, вы делаете
response = session.get('https:.....').text
Отредактировано FishHook (Авг. 13, 2020 14:29:48)
Офлайн
0
так он и xpath не имеет, а вот такой кусок нашел и долблюсь
while True: try: random_proxy = random.choice(proxies) random_proxy = {'http': random_proxy, 'https': random_proxy} resp = session.get(url, proxies=random_proxy, timeout=2) if resp.status_code == 200: break except Exception as e: print(type(e), e) # rand_sleep = random.randint(10, 30) # sleep(rand_sleep) print(url, resp.status_code) links = resp.html.xpath("//div[@class='r']/a/@href") domains = [x.split('/')[2].replace('www.', '') for x in links if 'http' in x] print("Keyword - ", key)
Офлайн
568
sasholyТак можно и голову раздолбить
а вот такой кусок нашел и долблюсь
links = resp.html.xpath("//div[@class='r']/a/@href")
response = session.get('https:.....').text
Отредактировано FishHook (Авг. 13, 2020 17:00:45)
Офлайн
857
sasholyПотому что ты не убрал .text в конце.
если имели ввиду html, то все равно
AttributeError: ‘str’ object has no attribute ‘html’
from requests_html import HTMLSession session = HTMLSession() response = session.get('https:.....') r = response.xpath('//*[@id="blgtble"]/tbody')
Отредактировано py.user.next (Авг. 14, 2020 00:12:24)
Офлайн
0
from requests_html import HTMLSession session = HTMLSession() response = session.get('https://free-proxy-list.net/') r = response.xpath('//*[@id="proxylisttable"]/tbody') for i in r: if i.xpath('//*[@id="proxylisttable"]/tbody/tr[*]/td[7]').text == 'yes': ip = i.xpath('//*[@id="proxylisttable"]/tbody/tr[*]/td[1]').text port = i.xpath('//*[@id="proxylisttable"]/tbody/tr[*]/td[2]').text print(ip, port, )
Отредактировано sasholy (Авг. 14, 2020 00:18:39)
Офлайн
124
sasholy
вот пытаюсь собрат в кучу, пытаюсь чужой код переделать на xpath
from requests_html import HTMLSession session = HTMLSession() response = session.get('https://free-proxy-list.net/') r = response.html n = 0 for txt in r.xpath('//*[@id="proxylisttable"]/tbody/tr/td[7]/text()'): n+=1 if txt == "yes": data = r.xpath(f'//*[@id="proxylisttable"]/tbody/tr[{n}]/td[1]/text() | //*[@id="proxylisttable"]/tbody/tr[{n}]/td[2]/text()') ip = data[0] port = data[1] print(f'{ip}:{port}')
158.101.198.195:3128 37.152.181.36:8118 1.20.103.196:42792 118.174.220.14:43473 117.252.12.26:55443 191.242.182.132:8081 79.137.254.51:60779 103.208.200.114:23500 191.100.24.251:21776 91.211.107.204:41258 203.207.52.206:8085 Process finished with exit code 0
Офлайн
0
xam1816спс, есть мануалы, чем руководствовался?
Офлайн