这是一个创建于 2419 天前的主题,其中的信息可能已经有所发展或是发生改变。
1. 首先, import 包
from selenium import webdriver
import requests
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
import re
import pandas as pd
from time import sleep
2. 然后打开淘宝搜索 iphone
browser=webdriver.Chrome()
browser.get('https://www.taobao.com')
a=browser.find_element_by_id('q')
a.send_keys('iphone')
button=browser.find_element_by_css_selector('.search-button')
button.click()
3. 匪夷所思的问题来了, 用 r1 r2 分别表示第 1 ,2 页的源代码,提取店铺, 价格数据
title1=[]
price1=[]
stall1=[]
title2=[]
price2=[]
stall2=[]
c=browser.find_element_by_css_selector('.input.J_Input')#找到页码输入框
c.clear()#先清空,防止方框中有其他数字
c.send_keys(1)#输入页码
d=browser.find_element_by_css_selector('.btn.J_Submit')#翻页确定框
d.click()
r1=browser.page_source
title1=re.findall('\"raw_title\":\"(.*?)\"',r1,re.S)
price1=re.findall('\"view_price\":\"(.*?)\"',r1,re.S)
stall1=re.findall('user_id.*?\"nick\":\"(.*?)\"',r1,re.S)
#=============================================
c=browser.find_element_by_css_selector('.input.J_Input')#找到页码输入框
c.clear()#先清空,防止方框中有其他数字
c.send_keys(2)#输入页码
d=browser.find_element_by_css_selector('.btn.J_Submit')#翻页确定框
d.click()
r2=browser.page_source
title2=re.findall('\"raw_title\":\"(.*?)\"',r2,re.S)
price2=re.findall('\"view_price\":\"(.*?)\"',r2,re.S)
stall2=re.findall('user_id.*?\"nick\":\"(.*?)\"',r2,re.S)
r1==r2
price1==price2
title1==title2
4. 结果如下:
r1==r2
Out[90]: False
price1==price2
Out[91]: True
title1==title2
Out[92]: True
5. 哪位大佬说一下为什么 r1≠r2, 爬取的内容居然是一样的????!!!!
|
|
1
nature91 2018-05-17 12:02:56 +08:00
前面 print 一下不就知道了?
|
|
|
2
binbina 2018-05-17 13:08:29 +08:00
r1≠r2, print 不 print 都一样
|
|
|
3
Arnie97 2018-05-18 01:48:12 +08:00 via Android
说句题外话 >>> import math >>> math.nan == math.nan False
|