//table[@class="info"]//tr//td/text()С какой целью вы используете "//" между tr и td, если td - непосредственный потомок tr? На мой взгляд, лучше указывать максимально специфичное xpath-выражение. Также просьба уточнить, в какой среде (язык программирования) вы используете эти выражения.
//table[@class="info"]/tbody/tr/td[1]/text()
, вы получите значения //table[@class="info"]/tbody/tr/td[2]/text()
даст//table[@class="info"]/tbody/tr
и далее, итерируя по ним, получать значения выражений td[1]/text()
и td[2]/text()
. Как быть не забаненым при такой деятельности?Если использовать синхронные библиотеки (requests), то, на мой взгляд, можно особо не переживать по поводу возможной блокировки, если серверы, хостящий сайты, нормально настроены, и вы не слишком часто обращаетесь к сайтам. На всякий случай можете User-Agent неприметный прописать.
from selenium import webdriver
url='https://vk.com/kostya__wolf?z=photo107790602_343297825%2Falbum107790602_00%2Frev'
xpath='//a[@id="pv_open_original"]'
browser = webdriver.Firefox()
browser.get(url)
print browser.find_element_by_xpath(xpath).get_attribute('href')
browser.quit()
import requests
import json
import lxml.html
url='https://vk.com/kostya__wolf?z=photo107790602_343297825%2Falbum107790602_00'
r=requests.get(url)
doc=lxml.html.fromstring(r.text)
search_string=url[url.find('photo'):url.find('%2F')]
xpath='//a[contains(@href, "%s")]' % search_string
src=doc.xpath(xpath)[0].get('onclick')
d = json.loads(src[src.find('{'):src.find('}}')+len('}}')])
src=d['temp']['base']+d['temp']['z_'][0]+'.jpg'
print src
g.go('...')
имя переменной g не объявлено, добавьте перед этой строкой g=grab.Grab()u = urllib.urlopen(src)
имя переменной src не объявлено.import urllib
import grab
import json
g=grab.Grab()
url='https://vk.com/kostya__wolf?z=photo107790602_343297825%2Falbum107790602_00'
search_string=url[url.find('photo'):url.find('%2F')]
xpath='//a[contains(@href, "%s")]' % search_string
g.go(url)
src=g.doc.select(xpath).attr('onclick')
d = json.loads(src[src.find('{'):src.find('}}')+len('}}')])
src=d['temp']['base']+d['temp']['z_'][0]+'.jpg'
urllib.urlretrieve(src,'bibit.jpg')
from selenium import webdriver
import time
browser = webdriver.Firefox()
url='http://vk.com/go_in_zp?z=photo-50824015_344878304%2Falbum-50824015_00%2Frev'
browser.get(url)
time.sleep(5) # this is bad
img=browser.find_element_by_xpath('//a[@id="pv_photo"]/img')
print img.get_attribute('src')
browser.quit()
http://cs624016.vk.me/v624016533/a226/owG51bJm59o.jpg
import requests
from lxml.html import fromstring
url='http://vk.com/go_in_zp?z=photo-50824015_344878304%2Falbum-50824015_00%2Frev'
search_string=url[url.find('photo-')+len('photo-'):url.find('%2F')]
r=requests.get(url)
doc=fromstring(r.text)
xpath='//a[contains(@onclick, "%s")]/img' % search_string
print doc.xpath(xpath)[0].attrib['src']
Раз в сутки проводится акция - найди на любой странице среди товаров рекламный баннер, кликни на него и получи скидку (кликающий должен быть авторизован на сайте).
http://moscow.drom.ru/auto/?bull_id=16218116&obj=show_contacts&crossdomain_ajax_request=2&request=ajax_show_contacts
host[ip]['data'] = ''
...
host[ip]['data'] = host[ip]['data'] + d
host[ip] = ''
...
host[ip] = host[ip] + d