亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python3實現爬取淘寶美食代碼分享

2020-02-15 23:02:21
字體:
來源:轉載
供稿:網友

環境:

ubuntu16.04
python3.5
python庫: selenium, pyquery,pymongo, re

要求:

設置×××面瀏覽器訪問,并將商品列表存入mongoDB數據庫.

分析過程暫時略過

代碼:

#!/usr/bin/env python# -*- coding:utf-8 -*-"""1.爬取淘寶美食的流程- 搜索關鍵字: 用selenium打開瀏覽器,模擬輸入關鍵字,并搜索對應的商品列表.- 分析頁碼并翻頁,模擬翻頁,查看到所有頁面的商品列表.- 分析并提取商品,利用Pyquery分析源碼,解析得到商品列表.- 存儲到MONGODB數據庫,將商品列表信息存儲到mongoDB數據庫."""from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.common.exceptions import TimeoutExceptionfrom pyquery import PyQuery as pqimport refrom anli.mongoconfig import *import pymongoclient = pymongo.MongoClient(MONGO_URL)db = client[MONGO_DB]#設置×××面訪問opt = webdriver.FirefoxOptions()opt.set_headless()browser = webdriver.Firefox(options=opt)#等待瀏覽器加載頁面成功.wait = WebDriverWait(browser,10)def search():  try:    # 后臺打開瀏覽器    browser.get('https://www.taobao.com')    # 用CSS選擇器復制搜索框    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 .search-button')))      EC.element_to_be_clickable((By.CSS_SELECTOR,'#J_TSearchForm > div.search-button > button')))    # 輸入關鍵字    input.send_keys('美食')    # 點擊搜索按鈕.    submit.click()    # 輸出總共的頁數.    total=wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'.total')))    # 調取商品列表的函數.    get_products()    return total.text  except TimeoutException: #超時錯誤.    return search()# 翻頁def next_page(page_number):  try:    #注意在firefox和chrome瀏覽器復制出來的元素不太一樣.    #要傳入的頁碼: 到第幾頁    input = wait.until(      EC.presence_of_element_located((By.CSS_SELECTOR,'input.input:nth-child(2)'))    )    #復制確定按鈕的元素:    submit = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'span.btn:nth-child(4)')))    #清除頁碼    input.clear()    #輸入當前頁碼    input.send_keys(page_number)    #點擊確定按鈕.    submit.click()    #判斷當前頁碼是否是當前數字: 復制高亮頁碼數.    wait.until(EC.text_to_be_present_in_element((By.CSS_SELECTOR,'span.num'),str(page_number)))    get_products()  except TimeoutException:    next_page(page_number)#解析jquery源碼def get_products():  #商品列表:  wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'#mainsrp-itemlist .items .item')))  # 獲取網頁源碼  html = browser.page_source  doc = pq(html)  items = doc('#mainsrp-itemlist .items .item').items()  for item in items:    #定義商品列表詳細信息的字典    product = {      'title': item.find('.title').text(),      'price': item.find('.price').text(),      'image': item.find('.pic .img').attr('src'),      'shop': item.find('.shop').text(),      'deal': item.find('.deal-cnt').text()[:-3],      'location': item.find('.location').text()    }    print(product)    #將商品列表信息保存到mongoDB數據庫.    save_to_mongo(product)def save_to_mongo(result):  try:    if db[MONGO_TABLE].insert(result):      print('存儲到mongodb成功',result)  except Exception:    print('存儲到mongodb失敗',result)def main():  total = search()  # 用正則表達式只匹配出數字,并打印數字.  total = int(re.compile('(/d+)').search(total).group(1))  print(total)  for i in range(2,total + 1):    next_page(i)if __name__=='__main__':  main()  #關閉×××面瀏覽器.  browser.quit()#mongoconfig.py#!/usr/bin/env python# -*- coding:utf-8 -*-MONGO_URL = 'localhost'MONGO_DB = 'taobao'MONGO_TABLE = 'meishi'            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩一区二区久久久| 91青草视频久久| 中文字幕日韩av电影| 亚洲色图50p| 69久久夜色精品国产69| 亚洲伊人久久综合| 成人在线视频网站| 日韩亚洲欧美中文高清在线| 欧美壮男野外gaytube| 欧美中文字幕视频在线观看| 51久久精品夜色国产麻豆| 日本sm极度另类视频| 欧美裸体xxxx极品少妇| 亚洲影视中文字幕| 成人免费xxxxx在线观看| 7777kkkk成人观看| 亚洲黄色免费三级| 国产一区私人高清影院| 精品一区二区三区四区| 国产成人a亚洲精品| 美女撒尿一区二区三区| 91精品国产精品| 欧美福利视频在线| 国产精品视频白浆免费视频| 九九热精品视频| 欧美激情亚洲激情| 国产一级揄自揄精品视频| 国产97在线亚洲| 中文字幕免费精品一区| 久久中文精品视频| …久久精品99久久香蕉国产| 亚洲最大成人免费视频| 久久影视三级福利片| 欧美激情免费视频| 精品国产31久久久久久| 国产精品成av人在线视午夜片| 久久久久久久久久久av| 欧美一级高清免费播放| 日韩有码在线视频| 2023亚洲男人天堂| 日韩色av导航| 97视频人免费观看| 亚洲国产日韩欧美在线99| 亚洲欧美在线看| 欧美黄色www| 国产精品第一页在线| 国产亚洲美女精品久久久| 国产精品自产拍在线观看| 在线看福利67194| 欧美午夜宅男影院在线观看| 欧美激情极品视频| 欧美精品精品精品精品免费| 国产成人精品亚洲精品| 久久综合久久八八| 国模吧一区二区| 欧美成人午夜视频| 日韩精品在线观看视频| 久久久成人的性感天堂| 亚洲国产精品久久久久秋霞不卡| 91成人在线观看国产| 亚洲白拍色综合图区| 97碰在线观看| 亚洲精品视频在线播放| 国产精品亚洲激情| 色偷偷偷亚洲综合网另类| 国产精品自拍视频| 狠狠久久亚洲欧美专区| 一区二区欧美在线| 日韩美女视频免费在线观看| 亚洲网站在线播放| 久久韩剧网电视剧| 久久久91精品国产一区不卡| 久久久999国产| 性色av一区二区三区| 主播福利视频一区| 欧美激情xxxxx| 91久久精品久久国产性色也91| 一区二区在线视频播放| 国产精品一区二区av影院萌芽| 精品成人在线视频| 精品国产乱码久久久久久天美| 亚洲丝袜在线视频| 国产精品永久免费| 欧美人与性动交a欧美精品| 一区二区三区四区精品| 国产综合色香蕉精品| 亚洲精品美女在线| 亚洲18私人小影院| 亚洲色图50p| 欧美激情在线视频二区| 国产日本欧美一区二区三区| 亚洲精品久久久久中文字幕欢迎你| 久久电影一区二区| 欧美亚洲视频在线观看| 蜜臀久久99精品久久久久久宅男| 亚洲天堂日韩电影| 亚洲欧洲偷拍精品| 国产成人精品久久二区二区91| 国产一区二区三区在线视频| 欧美俄罗斯性视频| 国产精品香蕉国产| 日韩精品极品在线观看播放免费视频| 日韩欧美在线视频日韩欧美在线视频| 欧美人与物videos| 欧美中文在线观看国产| 亚洲欧美成人网| 久久夜色精品国产欧美乱| 国产伦精品一区二区三区精品视频| 国产精品久久久久久久久影视| 韩国福利视频一区| 久久久久中文字幕2018| 欧美性猛交xxxx免费看| 国内精品小视频| 国产狼人综合免费视频| 78m国产成人精品视频| 欧美日韩中文在线| 日本一区二区在线播放| 欧美一区二区影院| 久久久久国色av免费观看性色| 91精品国产91久久久久久不卡| 国产视频丨精品|在线观看| 热门国产精品亚洲第一区在线| 欧美尺度大的性做爰视频| 日韩精品视频在线免费观看| 亚洲精品日韩激情在线电影| 久久大大胆人体| 亚洲人午夜精品| 日本欧美在线视频| 欧美成人午夜激情| 最近日韩中文字幕中文| 欧美日韩成人在线播放| 欧美一级免费视频| 欧美二区乱c黑人| 2019日本中文字幕| 欧美大学生性色视频| 欧美性xxxxxxx| 亚洲第一网中文字幕| 92看片淫黄大片欧美看国产片| 色狠狠av一区二区三区香蕉蜜桃| 91在线色戒在线| 成人免费大片黄在线播放| 国产日韩综合一区二区性色av| 97精品一区二区视频在线观看| 国产成人亚洲综合91| 亚洲精品一区av在线播放| 欧美日韩人人澡狠狠躁视频| 久久久久久国产精品久久| 久久国产精彩视频| 国产精品精品视频一区二区三区| 日韩av毛片网| 91夜夜未满十八勿入爽爽影院| 欧美午夜电影在线| 久久精品欧美视频| 欧美超级乱淫片喷水| 中文字幕日韩av| 久久天天躁狠狠躁老女人| 久久久亚洲精品视频| 国产精品一香蕉国产线看观看| 欧美成人在线免费视频| 国产成人精品综合久久久| 亚洲免费视频观看| 超碰91人人草人人干| 亚洲人成网在线播放| 成人在线小视频|