首页 > 其他分享 >爬取某东的小米的手机信息20页 用selenium来爬取

爬取某东的小米的手机信息20页 用selenium来爬取

时间:2022-09-24 20:44:27浏览次数:68  
标签:20 name self selenium E6% 爬取 str import

import time
#
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from bs4 import BeautifulSoup
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from lxml import etree
作者:小辉 #爬取京东的小米的手机信息 class jingdo(): def __init__(self): self.sertd = Service("\自动\chromedriver.exe") #控制浏览 self.mko=webdriver.Chrome(service=self.sertd) #获取Service对象 self.html_top='https://item.jd.com/' self.html_huo='.html' def mko111(self): i1=5 s=116 ick=1 for i in range(1,21): # 20页的小米手机的url if i==1: c='https://search.jd.com/Search?keyword=%E5%B0%8F%E7%B1%B3%E6%89%8B%E6%9C%BA&enc=utf-8&pvid=98f95d796dc64a139bb211652a371657' elif i==2: c = 'https://search.jd.com/Search?keyword=%E5%B0%8F%E7%B1%B3%E6%89%8B%E6%9C%BA&qrst=1&ev=exbrand_%E5%B0%8F%E7%B1%B3%EF%BC%88MI%EF%BC%89%5E&pvid=98f95d796dc64a139bb211652a371657&page=3&s=57&click=0' else: c='https://search.jd.com/Search?keyword=%E5%B0%8F%E7%B1%B3%E6%89%8B%E6%9C%BA&qrst=1&ev=exbrand_%E5%B0%8F%E7%B1%B3%EF%BC%88MI%EF%BC%89%5E&pvid=98f95d796dc64a139bb211652a371657&page='+str(i1)+'&s='+str(s)+'&click='+str(ick) i1+=2 s+=60 self.mko.get(c) time.sleep(5)
js = "var q=document.documentElement.scrollTop=9000" self.mko.execute_script(js) # # 向下偏移了10000个像素,到达底部 time.sleep(5) nji_1=BeautifulSoup(self.mko.page_source,'lxml') xxh=nji_1.select('.ml-wrap') nji_name=etree.HTML(str(xxh)) c1='//*[@id="J_goodsList"]/ul/li/@data-sku' hao_url=nji_name.xpath(c1)#每个网页手机的地址 try: for i2 in hao_url: self.mko.get(self.html_top+str(i2)+self.html_huo) time.sleep(5) THTML=etree.HTML(self.mko.page_source) name=THTML.xpath('//*[@class="sku-name"]/text()')#手机名字 moung=THTML.xpath('//*[@class="summary-price J-summary-price"]/div[2]/span[1]/span[2]/text()')#手机价格 pj=THTML.xpath('//*[@id="comment-count"]/a/text()')#手机评论 # 取消空格 name_1=[str(i3).replace(' ','').strip() for i3 in name if str(i3).replace(' ','').strip()!=''] # moung_1 = [str(i).replace(' ', '').strip() for i in moung if str(i).replace(' ', '').strip() != ''] pj_1 = [str(i).replace(' ', '').strip() for i in pj if str(i).replace(' ', '').strip() != ''] print(name_1,moung_1,pj_1) except Exception as naoc: print('错误') htmkl=jingdo() htmkl.mko111()

  

标签:20,name,self,selenium,E6%,爬取,str,import
From: https://www.cnblogs.com/xxh12/p/16726546.html

相关文章

  • sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (2026, '
    sqlalchemy.exc.OperationalError:(MySQLdb._exceptions.OperationalError)(2026,'SSLconnectionerror:unknownerrornumber')问题:使用sqlalchemy查询mysql数据时......
  • JOIG 2021/2022 F 题解
    链接题意:给定一张\(n\)个点,\(m\)条边的无向图(保证没有重边、自环)。边有两种,\(type=1\)时,经过后手中的数\(-1\);\(type=2\)时,经过后手中的数\(\div2\)下取整。给定......
  • 【补题计划】NOIP 2021
    前言听说Eafoo最近在搞真题,正好闲来无事(其实没有啦),也开始我的补题计划T1[NOIP2021]报数签到题qwq不过也没见过这么水的签到题就是筛啦还有就是筛的时候不要卡在1e7......
  • 【CVPR2022】Beyond Fixation: Dynamic Window Visual Transformer
    【CVPR2022】BeyondFixation:DynamicWindowVisualTransformer论文:https://arxiv.org/abs/2203.12856代码:https://github.com/pzhren/DW-ViT个人感觉,这个论文的......
  • 2022杭电多校8
    A.Theramore题意:给定一个01串,可以选择一个奇数长度的区间,使得该区间翻转,求任意次数操作后的最小字典序。分析:我们发现不管怎么转,奇数位置上的数永远在奇数上,偶数永远......
  • 2022NOIP前模拟赛订正情况
    √表示已订正,×表示不在能力范围之内,空表示未订正日期ABCD订正地址2022.9.3√√√×https://www.luogu.com.cn/contest/828672022.9.7√××ht......
  • 200天1000题 (DAY 8)
    200天1000题(DAY8)目前总题数:36目前CF分数:1336(+11)今天打了一下CFRound#822(DIV2)手速比以前快,过了3个题,D想到一个双指针贪心的写法,但实现出来的代码有漏洞,疯狂WA......
  • 代码随想录刷题第三天|203. 移除链表元素、707设计链表、206、反转链表
    203、移除链表元素思路一:利用虚拟头节点,将移除操作一致性代码dummyHead:=new(ListNode)dummyHead.Next=headcur:=dummyHeadforcur.Next!=nil{ifcu......
  • 2022-2023-1 20221404 《计算机基础与程序设计》第四周学习总结
    2022-2023-120221404《计算机基础与程序设计》第X周学习总结作业信息班级链接(2022-2023-1-计算机基础与程序设计)作业要求(2022-2023-1计算机基础与程序设计第......
  • [JSOI2012]玄武密码
    题目对于每一段文字tt,求出其最长的前缀pp,满足pp是ss的子串,其中ss是字串。题解我们可以用ac自动机来做,先把所有字串建个ac自动机,然后用母串在上面跑,把那些点都进行......