爬虫爬京东搜索页,gank->ajax

这几天学习了一下爬虫。刚开始感觉学了点东西就上手,去爬京东。结果很显示,就爬了30条数据。怎么也搞不出来后30条,于是乎,直接上selenium,然后让鼠标拉到最底下,还是no。然后我看网上直接用无头浏览器,用试试PhantomJS,结果还是不行,然后各种百度,各种试,最后看了一篇blog,发现把下拉的时间间隔开来,试试,卧槽,我终于征服京东, 仅此来纪念我两天的gank 京东。

# -*- coding: utf-8 -*-
from selenium import webdriver
from bs4 import BeautifulSoup
import time
print 'yes'
driver = webdriver.PhantomJS()  
s1='%E8%A3%A4%E5%AD%90'
url='https://search.jd.com/Search?keyword='+s1+'&enc=utf-8&page=1'
driver.get(url)
print driver.current_url
t1 = time.time()
n = 5   #这里可以控制网页滚动距离
for i in range(1,n+1):
    s = "window.scrollTo(0,document.body.scrollHeight/{0}*{1});".format(5,i)
    print s, len(driver.page_source),time.time()-t1
    driver.execute_script(s)
    time.sleep(2)
  
lis=driver.find_elements_by_class_name("gl-item")
for i in range(len(lis)):
    print lis[i].find_element_by_class_name("p-name").text
    print lis[i].find_element_by_class_name("p-price").text
#    print lis[i].text
    
driver.quit()     
print "end"



你可能感兴趣的:(技能-爬虫代码)