Python selenium 爬虫遇到的一个非常难解的问题? page_source 是不是有毒?

2018-05-17 10:59:49 +08:00
 binbina
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, 爬取的内容居然是一样的????!!!!
3362 次点击
所在节点    Python
3 条回复
nature91
2018-05-17 12:02:56 +08:00
前面 print 一下不就知道了?
binbina
2018-05-17 13:08:29 +08:00
r1≠r2, print 不 print 都一样
Arnie97
2018-05-18 01:48:12 +08:00
说句题外话
>>> import math
>>> math.nan == math.nan
False

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/455529

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX