1. 程式人生 > >Python2.7 淘寶爬蟲selenium 模擬瀏覽器

Python2.7 淘寶爬蟲selenium 模擬瀏覽器

encoding=utf8

import re
from pyquery import PyQuery as pq
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
browser = webdriver.Chrome('C:\Program Files (x86)\Google\Chrome\Application/chromedriver.exe')
wait=WebDriverWait(browser, 10)
def search():
try:
browser.get('https://www.taobao.com')
#獲取並設定搜尋框
input = wait.until(
#載入成功
EC.presence_of_element_located((By.CSS_SELECTOR, "#q"))
)
#獲取並設定點選按鈕
submit = wait.until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "#J_TSearchForm > div.search-button > button")))
#模擬給搜尋框一個關鍵字
input.send_keys('美食'.decode('utf8'))
#模擬點選按鈕
submit.click()
totalpage = wait.until(
EC.presence_of_element_located((By.CSS_SELECTOR, "#mainsrp-pager > div > div > div > div.total"))
)
get_product()
return totalpage.text
except Exception, e:
return search()
def next_page(page_number):
try:
# 獲取並設定搜尋框
input = wait.until(
EC.presence_of_element_located((By.CSS_SELECTOR, "#mainsrp-pager > div > div > div > div.form > input"))
)
# 獲取並設定點選按鈕
submit = wait.until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "#mainsrp-pager > div > div > div > div.form > span.btn.J_Submit")))
# 模擬給搜尋框一個關鍵字
input.clear()
input.send_keys(page_number)
# 模擬點選按鈕
submit.click()
wait.until(EC.text_to_be_present_in_element((By.CSS_SELECTOR,'#mainsrp-pager > div > div > div > ul > li:nth-child(3) > a'),str(page_number)))
get_product()
except Exception, e:
return search()
def main():
totalpage=search()
totalpage=int(re.compile('(\d+)').search(totalpage).group(1))
for i in range(2,totalpage+1):
next_page(i)
def get_product():
# 載入成功
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#mainsrp-itemlist .items .item")))
html=browser.page_source
#print type(html)
doc=pq(html)
#print doc
#items()可以獲取所有被選中的內容
items=doc('#mainsrp-itemlist .items .item').items()
for item in items:
product={
'image':item.find('.pic .img').attr('src')
}
print product

if name =='main':
main()

相關推薦

Python2.7 爬蟲selenium 模擬瀏覽器

encoding=utf8 import re from pyquery import PyQuery as pq from selenium import webdriver from selenium.webdriver.common.by import By from

使用Selenium模擬瀏覽器抓取商品美食信息

get cto sub element 得到 support pan args time 1.搜索關鍵詞:利用Selenium驅動瀏覽器,得到商品列表。 2.分析頁碼並翻頁:得到商品頁碼數,模擬翻頁,得到後續頁面的商品列表。 3.分析提取商品內容:利用PyQuery分析源碼

16-使用Selenium模擬瀏覽器抓取商品美食資訊

淘寶由於含有很多請求引數和加密引數,如果直接分析ajax會非常繁瑣,selenium自動化測試工具可以驅動瀏覽器自動完成一些操作,如模擬點選、輸入、下拉等,這樣我們只需要關心操作而不需要關心後臺發生了怎樣的請求。PhantomJS是一個無介面的瀏覽器。 爬取淘寶搜尋關鍵詞下的寶貝內容,爬取到MONGODB,

python爬蟲+網頁點選事件+selenium模擬瀏覽器,爬取選股內容

(一)PYTHON的安裝(已安裝,可跳過此步驟)         1、PYTHON下載                 PYTHON官網:https://www.python.org/                                按照對應的系統下載,

python爬蟲十三:selenium模擬瀏覽器+chrome+windows

最近一直在學習爬蟲,教程都是phantomjs的瀏覽器,聽說效能好,速度快,呵呵,但是phantomjs這個玩意前不久和selenium模組分手了,他們都震驚了,我也跟著震驚一下。。。不扯淡了,下面是介紹在selenium下的chrome瀏覽器的配置1.現在大神那裡下載chr

第三百三十三節,web爬蟲講解2—Scrapy框架爬蟲—Scrapy模擬瀏覽器登錄—獲取Scrapy框架Cookies

pid 設置 ade form 需要 span coo decode firefox 第三百三十三節,web爬蟲講解2—Scrapy框架爬蟲—Scrapy模擬瀏覽器登錄 模擬瀏覽器登錄 start_requests()方法,可以返回一個請求給爬蟲的起始網站,這個返回的請求相

Selenium模擬瀏覽器初識

關鍵詞 一個 gui key 取數據 http 獲取 出了 rom p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 21.0px "PingFang SC Semibold" } p.p2 { margin: 0.0px 0.0p

爬蟲-------selenium-------無頭瀏覽器

無頭瀏覽器 1 什麼是selenium Selenium是一個Web的自動化測試工具,最初是為網站自動化測試而開發的,Selenium 可以直接執行在瀏覽器上,它支援所有主流的瀏覽器(包括PhantomJS這些無介面的瀏覽器),可以接收指令,讓瀏覽器自動載入頁面,獲取需要的資料,甚至

爬蟲模擬瀏覽器對網站內容進行爬取

對於一些保護比較好的網站,他能識別你是用requests庫對其進行訪問,所以有些網站會禁止你用python對其進行訪問 所以我們可以修改傳送給網站的頭部資訊,偽造瀏覽器對網站進行訪問 檢視我們傳送給網站的頭部資訊:r.request.headers kv={'user-agent':

基於JAVA解決爬蟲限制

不僅僅限於java 前言 驗證碼識別 工具 分析 編碼 資料演示 後記 前言 以前做過淘客開發,那時候高傭api很少,高傭的辦法就是查詢商品模擬轉鏈為高傭,但是後來淘寶慢慢禁止了爬蟲一直

使用Selenium模擬瀏覽器行為!室友原來天天都在瀏覽這些網站!

前幾天有位讀者問我一個爬蟲的問題,就是在爬去百度貼吧首頁的熱門動態下面的圖片的時候,爬取的圖片總是爬去不完整,比首頁看到的少。原因他也大概分析了下,就是後面的圖片是動態載入的。他的問題就是這部分動態載入的圖片該怎麼爬取到。 分析 他的程式碼比較簡單,主要有以下的步驟:使用 Be

爬蟲高度模擬瀏覽器

import urllib.request as request import urllib import http.cookiejar #注意要使用Fiddler除錯,下面的網址就設定為‘www.baidu.com/' url = 'http://www.baidu.com' headers

關於爬蟲實現的總結和反思

從2014年二月開始打算寫一個爬蟲,至今天初版已經差不多實現了。 由於拖延症和不願意直面困難的懦弱,花了半年的時間才把這麼簡單的一件事情給實現, 確實學習到了不少東西,值得一寫。 13年下半學期由於電子商務和分散式課程接觸到了網際網路的基礎知識, 於是在14年上半學期開始

Python selenium 模擬瀏覽器:輸入+點選

程式碼示例:模擬淘寶搜尋 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui impor

使用Selenium模擬瀏覽器登入,並獲取頁面資訊

(一)、Selenium1和Selenium2介紹 Selenium1.0是一個基於瀏覽器的開源自動化測試工具,它中可以使用多種語言程式設計,在執行Selenium1.0程式之前,需要先啟動selenium server服務,及selenium remote

使用selenium模擬瀏覽器操作頁面及問題處理(採用Java語言)

     有一個需求是:頁面上有一批測試資料要刪除,一共10萬條資料,每頁顯示20條,一共5000頁,手動刪除的操作一般是先點選全選本頁20條,點選"刪除"按鈕,再點選彈出"確認"按鈕完成一次操作。人工點選太費時費力,本來寫了一個js指令碼,每隔10秒定時去操作,把指令碼放在

python2.7爬取大眾點評 模擬滑鼠 python第二天含原始碼

*第二天是指寫部落格的第二天 創作背景 對於新手來說最快的學習方法就是看專案,在百度搜索python爬蟲基本都是爬大眾點評的,不知道這個網站做錯了什麼被這麼多人爬。接下來博主興沖沖的找了幾個有程式碼的部落格,改了改就測試,但是結果無非就是網站不能正常訪問啊,需要拖動驗證之

使用Selenium模擬瀏覽器抓取

最近在學習python爬蟲的一些知識,在練習demo的過程中,碰到了一些問題,現已經解決,希望能給學習的朋友一點幫助。 安裝 python版本建議使用python3.6版本 python下載地址 https://www.python.org/

【python 爬蟲信譽分抓取

一、需求分析 輸入旺旺號,獲取淘寶賣家的信用分 二、思路 淘寶需要模擬登陸,我們這裡抓不到,因此為了繞過登陸,發現了淘一兔,我們可以通過這裡,得到淘寶賣家的信用分,結果是一樣的。 http:

python爬蟲學習實踐(一):requests庫和正則表示式之爬蟲實戰

使用requests庫是需要安裝的,requests庫相比urllib 庫來說更高階方便一點,同時與scrapy相比較還是不夠強大,本文主要介紹利用requests庫和正則表示式完成一項簡單的爬蟲小專案----淘寶商品爬蟲。有關於更多requests庫的使用方法請參考:官方文件第一步:我們先開啟淘寶網頁然後搜