selenium+python爬取京东评论最多的计算机配置信息

本文介绍了如何结合selenium和python来爬取京东网站上评论数量最多的计算机配置信息,通过自动化浏览器操作获取动态加载的数据,详细阐述了实现步骤和技术要点。
摘要由CSDN通过智能技术生成
from selenium import webdriver
import time
import os
import json
from selenium.webdriver.common.action_chains import ActionChains

driver=webdriver.Chrome("/usr/local/bin/chromedriver")
#保存cookies到文件jd.cookies
def save_cookies(driver):
    projrct_path=os.path.dirname(os.getcwd())
    print("cwd="+os.getcwd())

    file_path=projrct_path+"/cookies/"

    if not os.path.exists(file_path):
        os.mkdir(file_path)
    #保存cookies到文件中,y以后再访问,读取文件
    cookies=driver.get_cookies()
    with open(file_path+"jd.cookies","w") as c:
        #这里必需使用dump方式写入文件,不然load的时候就会米粒问题 格式会不匹配
        json.dump(cookies,c)
    print(cookies)
#保存爬取到的京东的计算机的信息保存到thinkpadinfo.txt
def save_computer_message(diclist):
    projrct_path=os.path.dirname(os.getcwd())
    print("cwd="+os.getcwd())
    file_path=projrct_path+"/getMessage/"
    if not os.path.exists(file_path):
        os.mkdir(file_path)
    #保存cookies到文件中,y以后再访问,读取文件
    with open(file_path+"thinkpadinfo.txt","w",encoding='utf-8') as c:
        #这里必需使用dump方式写入文件,不然load的时候就会米粒问题 格式会不匹配
        json.dump(diclist,c,ensure_ascii=False)
    print(diclist)
  #判断是否登录成功
def assert_login():
    elem=driver.find_element_by_class_name("nickname")
    print(elem.text)
    if elem.text=="xuejunmei17":
        return True
    else:
        return False
 #登录并保存cookies
def login():
    driver.get("https://www.jd.com")
    #浏览器全屏
    driver.maximize_window()
    #设置固定的浏览器分辨率
    #driver.set_window_size(1920,1080)
    driver.find_element_by_class_name("link-login").click()
    driver.find_element_by_link_text("账户登录").click()
    driver.find_element_by_id("loginname").send_keys("13474470750")
    driver.find_element_by_id("nloginpwd").send_keys("xjm@123456")
    driver.find_element_by_id("loginsubmit").click()
    save_cookies(driver)
#携带cookies访问网站
def get_url_with_cookie():
    #首先获取项目路径,进而获得cookies文件的路径
    project_path=os.path.dirname(os.getcwd())
    file_path=project_path+"/cookies/"
    cookies_file=file_path+"jd.cookies"

    #读取到cookies信息
    jd_cookies_file=open(cookies_file,"r")
    jd_cookies_str=jd_cookies_file.readline()
    #加载cookies信息
    jd_cookies_dict=json.loads(jd_cookies_str)
    #这个地方必须先访问一下网站,然后把旧的cookies删除掉,再把我们保存的cookies添加进去
    driver.get("https://www.jd.com")
    driver.delete_all_cookies()
    for cookie in jd_cookies_dict:
        print(cookie)
        driv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值