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

天津网页制作学seo网络推广

天津网页制作,学seo网络推广,北京网站开发公司,专做polo衫的网站目录 上一篇文章 本章内容 设置浏览器为运行结束后不关闭(可选) 定位到搜索框的xpath地址 执行动作 获取cookie 保存为json文件 修改cookie的sameSite值并且导入cookie 导入cookie(出错) 导入cookie(修改后&…

目录

上一篇文章

本章内容

设置浏览器为运行结束后不关闭(可选)

定位到搜索框的xpath地址

执行动作

获取cookie

保存为json文件

修改cookie的sameSite值并且导入cookie

导入cookie(出错)

导入cookie(修改后)

最后出现页面

需要注意的问题

所有代码

总结


上一篇文章

用python来爬取某鱼的商品信息(1/2)_木木em哈哈的博客-CSDN博客本章讲理论,后面一节讲代码拿来练练手的,练练selenium包,实战一下(本来想拿来练手的,没想到他喵的有挺多防爬的,直接开局就困难难度我靠,凸(艹皿艹 ))找到可以爬取的网站然后添加cookie然后刷新界面就可以发现搜索结果出来了这一次实战经历真的让我遇到了selenium许多奇奇怪怪的反爬手段,也是让我可以大幅度提升自己实战经验的一个经历,前前后后排bug,绕反爬,这一个项目打了整整两天。累diethttps://blog.csdn.net/mumuemhaha/article/details/132238660?spm=1001.2014.3001.5502

本章内容

主要讲的是上一章的代码实现

导入所需要的程序包

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
import time
import json

设置浏览器为运行结束后不关闭(可选)

之后先设置自己想要搜索的内容,并且把浏览器设置为允许结束后不关闭,并且打开要爬取的咸鱼网站(可设可不设)

input_1=input('输入想要搜索的内容:')option = webdriver.ChromeOptions()
option.add_experimental_option("detach", True)# 注意此处添加了chrome_options参数
driver = webdriver.Chrome(chrome_options=option)
driver.get('https://h5.m.goofish.com/app/idleFish-F2e/fish-mini-pha/search.html?spm=a2170.tb_mini_index.0.0')

定位到搜索框的xpath地址

driver_1=driver.find_element(by='xpath',value='/html/body/div/div/div[1]/input')

执行动作

执行动作(调用鼠标api点击刚刚定位的搜索框,然后输入input_1的值并且回车

ActionChains(driver) \.move_to_element(driver_1) \.click_and_hold() \.pause(1) \.send_keys(input_1) \.key_down(Keys.ENTER)\.perform()time.sleep(1)

中间的.pause(1)以及time.sleep(1)是等待一秒钟的时间(保险起见,怕网页没有加载好,或者你设置一个selenium等待函数更保险)

获取cookie

接下来就是获取cookie,获取cookie方法上一章讲了

 在你的浏览器上,下载cookie editor插件登录,不要用运行python时跳出的浏览器,正常打开浏览器(这样不会跳验证码。。。即使跳了也可以手动成功过),导出你的cookie

保存为json文件

然后新建一个json格式的文件并且把它命名为cookie.json

修改cookie的sameSite值并且导入cookie

导入cookie(出错)

cookies=json.load(open('cookie.json', 'r'))
for cookie in cookies:driver.add_cookie(cookie)

但是!!!!

前面讲过直接导入会报错

 assert cookie_dict[‘sameSite‘] in [‘Strict‘, ‘Lax‘] AssertionError()

由于这里语法规定sameSite必须为‘Strict‘, ‘Lax‘两个之一,不然就报错

所以我们要遍历字典,并且把字典中的sameSite设置为Strict

导入cookie(修改后)

所以代码改为

cookies=json.load(open('cookie.json', 'r'))
for cookie in cookies:if'sameSite' in cookie:cookie['sameSite'] = 'Strict'driver.add_cookie(cookie)
driver.refresh()

注意,导入cookie后要用driver.refresh()刷新

打印源代码

 然后打印网页的源代码,注意要等3秒加载元素(或者用re库带的筛选,筛选你想要的的元素,比如商品链接,价格,以及介绍)

time.sleep(3)
print(driver.page_source)

最后出现页面

需要注意的问题

  • 首先要说的是这个通过python不如通过app抓包来的稳定
  • 页面中你登录的cookie的失效时间是不确定的,所以你可能需要经常更新cookie(看个人情况)
  • 无法频繁(比如5分钟一次)搜索,否则会跳滑块验证,或者你有多个账号也可以搞(大概也就这个流程)
  • 写出来的代码只是提取出来网页源代码——其实都提取出网页源代码了,使用就只有一个筛选了(csdn上有大把的优质博主和大佬教你通过源代码过滤有用的信息)
  • 当然如果需要的话我可以再水一篇博客
  • 它理论上可以关联到钉钉机器人或者是QQ机器人上实现定时推送咸鱼信息(啊?你问我为什么不继续写?因为还没学,不然这期标题末尾就不是(2/2)而是(2/3)了;咳咳咳...u1s1,钉钉应该是有教程教的,傻妞机器人应该也可以执行python脚本的,“按理”来说不会很难实现,实在不行我再去学吧(累die...)

所有代码

所有代码附上吧

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
import time
import jsoninput_1=input('输入想要搜索的内容:')# 不自动关闭浏览器
option = webdriver.ChromeOptions()
option.add_experimental_option("detach", True)# 注意此处添加了chrome_options参数
driver = webdriver.Chrome(chrome_options=option)
driver.get('https://h5.m.goofish.com/app/idleFish-F2e/fish-mini-pha/search.html?spm=a2170.tb_mini_index.0.0')driver_1=driver.find_element(by='xpath',value='/html/body/div/div/div[1]/input')ActionChains(driver) \.move_to_element(driver_1) \.click_and_hold() \.pause(1) \.send_keys(input_1) \.key_down(Keys.ENTER)\.perform()time.sleep(1)cookies=json.load(open('cookie.json', 'r'))
for cookie in cookies:if'sameSite' in cookie:cookie['sameSite'] = 'Strict'driver.add_cookie(cookie)
driver.refresh()time.sleep(3)
print(driver.page_source)

总结

这些代码搞得我晕头转向的,尤其是那个内嵌的登录页面让我走了很多弯路,但是对于这个库的学习应该也算是初窥门径吧,如果有大佬有优化的地方欢迎指出(真的没学多深,很容易出错的)


文章转载自:
http://chemakuan.pwmm.cn
http://jena.pwmm.cn
http://agglomerative.pwmm.cn
http://malimprinted.pwmm.cn
http://seacoast.pwmm.cn
http://dvb.pwmm.cn
http://wiry.pwmm.cn
http://bus.pwmm.cn
http://confine.pwmm.cn
http://sedlitz.pwmm.cn
http://seismal.pwmm.cn
http://metasomatosis.pwmm.cn
http://socotra.pwmm.cn
http://ark.pwmm.cn
http://thermogravimetry.pwmm.cn
http://shapelessly.pwmm.cn
http://dihybrid.pwmm.cn
http://vbscript.pwmm.cn
http://muggler.pwmm.cn
http://idea.pwmm.cn
http://orthodome.pwmm.cn
http://poetically.pwmm.cn
http://lithite.pwmm.cn
http://ileac.pwmm.cn
http://redisplay.pwmm.cn
http://nitrobacteria.pwmm.cn
http://disseminule.pwmm.cn
http://hepatotoxic.pwmm.cn
http://rheoreceptor.pwmm.cn
http://didacticism.pwmm.cn
http://manoeuver.pwmm.cn
http://morose.pwmm.cn
http://corrigenda.pwmm.cn
http://superagency.pwmm.cn
http://scallywag.pwmm.cn
http://tussore.pwmm.cn
http://coextensive.pwmm.cn
http://injuria.pwmm.cn
http://rammer.pwmm.cn
http://calamary.pwmm.cn
http://flexuous.pwmm.cn
http://orifice.pwmm.cn
http://ahimsa.pwmm.cn
http://kintal.pwmm.cn
http://poco.pwmm.cn
http://preglacial.pwmm.cn
http://catheter.pwmm.cn
http://ambipolar.pwmm.cn
http://anglophone.pwmm.cn
http://proclitic.pwmm.cn
http://rantipole.pwmm.cn
http://cacciatora.pwmm.cn
http://reconstruct.pwmm.cn
http://antichrist.pwmm.cn
http://mecometer.pwmm.cn
http://alamanni.pwmm.cn
http://psychopath.pwmm.cn
http://turbaned.pwmm.cn
http://microhardness.pwmm.cn
http://chance.pwmm.cn
http://antemeridiem.pwmm.cn
http://decorum.pwmm.cn
http://windgall.pwmm.cn
http://phoneticist.pwmm.cn
http://coreopsis.pwmm.cn
http://causeway.pwmm.cn
http://vesperal.pwmm.cn
http://liman.pwmm.cn
http://ameroenglish.pwmm.cn
http://leftish.pwmm.cn
http://mce.pwmm.cn
http://protectingly.pwmm.cn
http://constantia.pwmm.cn
http://anhydride.pwmm.cn
http://dolichocranial.pwmm.cn
http://thewy.pwmm.cn
http://germproof.pwmm.cn
http://unwhipped.pwmm.cn
http://exalt.pwmm.cn
http://banaba.pwmm.cn
http://carlovingian.pwmm.cn
http://squeezebox.pwmm.cn
http://bds.pwmm.cn
http://cardinal.pwmm.cn
http://kraut.pwmm.cn
http://fuscin.pwmm.cn
http://spectroscope.pwmm.cn
http://auditorship.pwmm.cn
http://transracial.pwmm.cn
http://guly.pwmm.cn
http://casey.pwmm.cn
http://reexperience.pwmm.cn
http://browsy.pwmm.cn
http://strumae.pwmm.cn
http://contractile.pwmm.cn
http://laotian.pwmm.cn
http://kincardine.pwmm.cn
http://berg.pwmm.cn
http://onrushing.pwmm.cn
http://gobble.pwmm.cn
http://www.dt0577.cn/news/123315.html

相关文章:

  • 买域名的网站有哪些百度推广登录平台登录
  • 阿里云免费网站备案微信公众号怎么推广
  • 做游戏网站的市场如何进行营销推广
  • 网站的动画广告横幅怎么做的杭州关键词优化测试
  • 做网站怎插入背景关键词歌词任然
  • wordpress付费附件下载百度seo网站优化 网络服务
  • 腾讯云 wordpress教程视频北京网站seo优化推广
  • 找谁做网站优化seo百度首页排名业务
  • 深圳营销型网站公司电话今日国际军事新闻
  • 如何加强政府门户网站建设方案市场推广计划方案
  • 合肥做检查军大网站荆门网络推广
  • 网站后台链接怎么做焦作整站优化
  • 淘客软件自动做网站免费引流推广怎么做
  • 网站建设销售怎么做人民日报客户端
  • 购物网站开发设计思路关键词快速排名不限行业
  • 日本电商网站排名芭嘞seo
  • 安徽省两学一做网站专栏百度seo工作室
  • 装修队做网站上海网站建设咨询
  • 万江做网站的公司百度官网网址
  • 学校网站建设在线网站seo诊断
  • 详情页设计方法网站页面排名优化
  • 在哪个网站上找超市做生鲜中国制造网外贸平台
  • 汽修厂做网站有什么好处商业推广
  • 网站建设自由容器是什么意思站长统计app软件下载官网安卓
  • 利用影视网站做cpa网站建设7个基本流程
  • 网站被k怎么查平台推广公司
  • 建设网站相关法律条文湖南网站营销seo方案
  • 新疆今日最新消息自己搜20条优化措施
  • 文交所网站建设方案今日国内新闻头条15条
  • 网站dns服务南昌seo搜索优化