【爬虫】selenium解析网页

来源:互联网 发布:你凭什么看不起程序员 编辑:程序博客网 时间:2024/06/06 01:51

解析网页,获取关键信息,保存至本地或者数据库中。


selenium

from collections import OrdereDict #有序字典from selenuim import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom pyquery import PyQuery as pqbrowser = webdriver.Firefox()wait = WebDriverWait(browser,10)

def get_products(url):    browser.get(url)    wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,'#mainsrp-itemlist .items .item'))) #加载所有宝贝    html=browser.page_source    doc = pq(html)    # print(doc)    items = doc('#mainsrp-itemlist .items .item').items()    for item in items:        product = {            # 获取 image 时,用'src'总有部分图片获取不到,因为淘宝设有'data-src' 和'src',不同商品这两个属性的前后顺序不一样,直接用'data-src'可避免返回 None            'image':item.find('.pic .img').attr('data-src'),#用find去获取内部元素,选择器是 pic,img,用attr获取属性            # 'image':item.find('.pic-box-inner').find('.pic').find('img').attr['src'],            'price':item.find('.price').text()[1:-3],  # 用text获取内容            'shop_id': item.find('.shop').find('a').attr('data-userid'), # 店铺 id            'data_id': item.find('.shop').find('a').attr('data-nid'),  # 商品 id            'link': item.find('.pic-box-inner').find('.pic').find('a').attr['href'],            'deal':item.find('.deal-cnt').text()[:-3],            'title':item.find('.title').text(),            'shop':item.find('.shop').text(),            'location':item.find('.location').text().replace(' ','')        }        # print(product)

 
原创粉丝点击