当前位置: 首页 > news >正文

盐城网站优化推广服务个人网站建设价格

盐城网站优化推广服务,个人网站建设价格,企业网站建站方案,多个wordpress 用户当程序打开淘宝登陆页面后#xff0c;需要快速手动登录淘宝#xff0c;如果服务报错#xff0c;需要重新登录#xff01; pip安装库 pip install pyquery pip install selenium pip install openpyxl # 代码说明#xff1a;代码功能#xff1a; 基于ChromeDriver爬取tao…当程序打开淘宝登陆页面后需要快速手动登录淘宝如果服务报错需要重新登录 pip安装库 pip install pyquery pip install selenium pip install openpyxl # 代码说明代码功能 基于ChromeDriver爬取taobao淘宝平台商品列表数据 输入参数: KEYWORLD -- 搜索商品“关键词”pageStart -- 爬取起始页pageEnd -- 爬取终止页 输出文件爬取商品列表数据Page 页码Num 序号title 商品标题Price 商品价格Deal 商品销量Location 地理位置Shop 商品IsPostFree 是否包邮Title_URL 商品详细页链接Shop_URL 商铺链接Img_URL 图片链接# 声明第三方库/头文件 from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from pyquery import PyQuery as pq import time import openpyxl as op #导入Excel读写库# 全局变量 count 1 # 写入Excel商品计数 KEYWORD input(输入搜索的商品关键词Keyword)# 要搜索的商品的关键词 pageStart int(input(输入爬取的起始页PageStart))# 爬取起始页 pageEnd int(input(输入爬取的终止页PageEnd))# 爬取终止页# 启动ChromeDriver服务 options webdriver.ChromeOptions() # 关闭自动测试状态显示 // 会导致浏览器报请停用开发者模式 options.add_experimental_option(excludeSwitches, [enable-automation]) # 把chrome设为selenium驱动的浏览器代理 driver webdriver.Chrome(optionsoptions) # 反爬机制 driver.execute_cdp_cmd(Page.addScriptToEvaluateOnNewDocument,{source: Object.defineProperty(navigator, webdriver, {get: () undefined})}) driver.get(https://www.taobao.com) # 窗口最大化 driver.maximize_window() # wait是Selenium中的一个等待类用于在特定条件满足之前等待一定的时间(这里是15秒)。 # 如果一直到等待时间都没满足则会捕获TimeoutException异常 wait WebDriverWait(driver,10) # 打开页面后会强制停止10秒请在此时手动扫码登陆# 输入“关键词”搜索 def search_goods(KEYWORD):try:print(正在搜索: {}.format(KEYWORD))# 找到搜索“输入框”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)))# 输入框写入“关键词KeyWord”input.send_keys(KEYWORD)# 点击“搜索”按键submit.click()# 搜索商品后会再强制停止2秒如有滑块请手动操作time.sleep(2)print(搜索完成)except Exception as exc:print(search_goods函数错误)# 翻页至第pageStar页 def turn_pageStart():try:print(正在翻转:第{}页.format(pageStart))# 滑动到页面底端driver.execute_script(window.scrollTo(0, document.body.scrollHeight);)# 滑动到底部后停留3stime.sleep(3)# 找到输入“页面”的表单输入“起始页” 请输入跳转到第几页pageInput wait.until(EC.presence_of_element_located((By.XPATH, //*[idsearch-content-leftWrap]/div[2]/div[4]/div/div/span[3]/input)))pageInput.send_keys(pageStart)# 找到页面跳转的“确定”按钮并且点击admit wait.until(EC.element_to_be_clickable((By.XPATH, //*[idsearch-content-leftWrap]/div[2]/div[4]/div/div/button[3])))admit.click()print(已翻至:第{}页.format(pageStart))except Exception as exc:print(turn_pageStart函数错误)# 获取每一页的商品信息 def get_goods(page):try:# 声明全局变量countglobal countif input(确认界面加载完毕输入数字“1”开始爬取--) 1:pass# 获取html网页html driver.page_sourcedoc pq(html)# 提取所有商品的共同父元素的类选择器items doc(div.content--CUnfXXxv div div).items()for item in items:# 定位商品标题title item.find(.title--qJ7Xg_90 span).text()# 定位价格price_int item.find(.priceInt--yqqZMJ5a).text()price_float item.find(.priceFloat--XpixvyQ1).text()if price_int and price_float:price float(f{price_int}{price_float})else:price 0.0# 定位交易量deal item.find(.realSales--XZJiepmt).text()# 定位所在地信息location item.find(.procity--wlcT2xH9 span).text()# 定位店名shop item.find(.shopNameText--DmtlsDKm).text()# 定位包邮的位置postText item.find(.subIconWrapper--Vl8zAdQn).text()postText 包邮 if 包邮 in postText else /# 定位商品urlt_url item.find(.doubleCardWrapperAdapt--mEcC7olq)t_url t_url.attr(href)# t_url item.attr(a.doubleCardWrapperAdapt--mEcC7olq href)# 定位店名urlshop_url item.find(.TextAndPic--grkZAtsC a)shop_url shop_url.attr(href)# 定位商品图片urlimg item.find(.mainPicAdaptWrapper--V_ayd2hD img)img_url img.attr(src)# 定位风格style_list item(div.abstractWrapper--whLX5va5 div).items()style []for s in style_list:s_span s(div.descBox--RunOO4S3 span).text()if s_span ! :style.append(s_span)# 构建商品信息字典product {Page: page,Num: count-1,title: title,price: price,deal: deal,location: location,shop: shop,isPostFree: postText,url: t_url,shop_url: shop_url,img_url: img_url}print(product)# 商品信息写入Excel表格中wb.cell(rowcount, column1, valuepage) # 页码wb.cell(rowcount, column2, valuecount-1) # 序号wb.cell(rowcount, column3, valuetitle) # 标题wb.cell(rowcount, column4, valueprice) # 价格wb.cell(rowcount, column5, valuedeal) # 付款人数wb.cell(rowcount, column6, valuelocation) # 地理位置wb.cell(rowcount, column7, valueshop) # 店铺名称wb.cell(rowcount, column8, valuepostText) # 是否包邮wb.cell(rowcount, column9, valuet_url) # 商品链接wb.cell(rowcount, column10, valueshop_url) # 商铺链接wb.cell(rowcount, column11, valueimg_url) # 图片链接for i in range(0,len(style)):wb.cell(rowcount, column12i, valuestyle[i]) # 风格1~3count 1 # 下一行except Exception:print(get_goods函数错误)# 翻页函数 def page_turning(page_number):try:print(正在翻页: 第{}页.format(page_number))# 强制等待2秒后翻页time.sleep(2)# 找到“下一页”的按钮submit wait.until(EC.element_to_be_clickable((By.XPATH, //*[idsearch-content-leftWrap]/div[2]/div[4]/div/div/button[2])))submit.click()# 判断页数是否相等wait.until(EC.text_to_be_present_in_element((By.XPATH, //*[idsearch-content-leftWrap]/div[2]/div[4]/div/div/span[1]/em), str(page_number)))print(已翻至: 第{}页.format(page_number))except Exception as exc:print(page_turning函数错误)# 爬虫main函数 def Crawer_main():try:# 搜索KEYWORDsearch_goods(KEYWORD)# 判断pageStart是否为第1页if pageStart ! 1:turn_pageStart()# 爬取PageStart的商品信息get_goods(pageStart)# 从PageStart1爬取到PageEndif pageStart 1 pageEnd:for i in range(pageStart 1, pageEnd):page_turning(i)get_goods(i)else:returnexcept Exception as exc:print(Crawer_main函数错误)if __name__ __main__:# 建立Excel表格try:ws op.Workbook() # 创建Workbookwb ws.create_sheet(index0) # 创建worsheet# Excel第一行表头title_list [Page, Num, title, Price, Deal, Location, Shop, IsPostFree, Title_URL,Shop_URL, Img_URL, Style_1, Style_2, Style_3]for i in range(0, len(title_list)):wb.cell(rowcount, columni 1, valuetitle_list[i])count 1 # 从第二行开始写爬取数据print(Excel建立)except Exception as exc:print(Excel建立失败)# 开始爬取数据Crawer_main()# 保存Excel表格data time.strftime(%Y%m%d-%H%M, time.localtime(time.time()))Filename {}_No.{}~{}_{}_FromTB.xlsx.format(KEYWORD,pageStart,pageEnd,data)ws.save(filename Filename)print(Filename 存储成功~)
http://www.w-s-a.com/news/445260/

相关文章:

  • 网站搜索 收录优化百度推广页面投放
  • 响应式网站的优点浙江省网站域名备案
  • 网站安全 扫描深圳被点名批评
  • 在哪个网站可以一对一做汉教网站优化策略
  • 龙岩做网站的顺企网宁波网站建设
  • 昆山网站建设河北连锁餐厅vi设计公司
  • 新蔡县住房和城乡建设局网站南昌租房网地宝网
  • 南宁做网站费用iis编辑网站绑定
  • 家用宽带做网站服务器建网站费用明细
  • 电商 网站 降低 跳出率 措施 效果书画院网站模板
  • 兰州移动官网网站建设上海工商网上公示系统
  • 在招聘网站里做电话销售免费空间可以上传网站吗
  • 梅州建站怎么做中国建设银行官网下载
  • 网站静态化设计广州网站备案方案
  • 西安网络技术有限公司网站扬中网站建设方案
  • 青海省教育厅门户网站wordpress core
  • idc科技公司网站模板蜜雪冰城网络营销案例分析
  • 微信与网站对接手机软件怎么做
  • 户县网站建设珠海专业制作网站
  • 麦当劳的网站优化建议猎头公司工作怎么样
  • 合肥地区网站制作网页浏览器打不开
  • 做网站的不给ftp网站如何做触屏滑动
  • wordpress statraq重庆百度优化
  • 企业网站官网英文WordPress站点切换为中文
  • 服装公司网站定位一点号自媒体平台
  • 密云微网站建设汽车之家手机官网首页
  • 多语言外贸网站制作苏州建设网站微信公众号
  • 用wordpress建站学什么百度给企业做网站吗
  • 福建城乡建设网站做数码测评的网站
  • 东海县建设局网站wordpress 好用的主题