- 博客(50)
- 资源 (7)
- 收藏
- 关注
原创 安装appium桌面版和命令行版()
桌面版(打开很慢,常用于辅助元素定位):官网下载exe安装文件,安装即可。命令行版(用于程序启动appium服务)npm --registry http://registry.npm.taobao.org install appium -gnpm --registry http://registry.npm.taobao.org install appium-doctor -gpip install Appium-Python-Client...
2021-06-30 16:38:05 87569 2
原创 python多线程tomorrow的使用
安装pip install tomorrow使用:在需要多线程执行的方法上打上注解@threads(2)即可@threads(5)def method_001(i): print(i)if __name__ == '__main__': for i in range(0, 100): method_001(i)报错:async关键字冲突,这是python3才会报的错。解决:修改方法名...
2021-06-30 16:17:33 88008
原创 python的配置文件yaml
安装:pip install pyyaml使用:if __name__ == '__main__': curpath = os.path.dirname(os.path.realpath(__file__)) yamlpath = os.path.join(curpath, "application.yaml") f = open(yamlpath, "r", encoding="utf-8") d = yaml.load(f, Loader=yaml.Ful
2021-06-30 11:51:29 87716
原创 appium刷新报错Call to ‘source‘ failed[sessionCapabilities()] Error response status: 13, , UnknownError
Call to 'source' failed[sessionCapabilities()] Error response status: 13, , UnknownError - An unknown server-side error occurred while processing the command. Selenium error: An unknown server-side error occurred while processing the command. Original er
2021-06-29 14:12:14 89762 1
原创 appium+python自动化
https://www.zhihu.com/people/Wubba-lubba-dub-dub/posts注意点:夜神模拟器的bin目录要加入path环境变量。adb devices 查看设备连接列表nox_adb devices -l查看连接的设备adb -s 1c0113fd shell dumpsys window | findstr mCurrentFocus 查看某台设备当前打开App的"appPackage"和"appActivity"。appium连接模拟器的配置.
2021-06-28 20:28:17 88028 1
原创 获取xhr请求工具类
import jsonfrom selenium import webdriverfrom selenium.webdriver import DesiredCapabilitiesdef get_xhr_logs(chrome): log_xhr_array = [] for typelog in chrome.log_types: perfs = chrome.get_log(typelog) for row in perfs: .
2021-06-26 20:33:42 88117
原创 python之yield的理解
总结:yield是一个带有状态值的return,会标它记是否被调用过。return是立即执行并返回结果, 被yield标记的函数会延迟执行,只有使用到了函数的结果,该函数才会执行逻辑去获取结果。 return是无状态的,下次调用的时候还是返回相同的逻辑。 yield是记住状态的,被调用后会留下我已经被调用”的标记。下调用的时候会跳过该yield而往后继续执行。示例:if __name__ == '__main__': def index(): for i in r
2021-06-26 17:19:47 87683
原创 python 无法导包
pip install 依赖 还是无法解决问题。原因:创建项目的时候没有构建虚拟环境。这时候会出现虚拟环境的包:已经构建完成,找不到包而报红的的话,去pip install 库。或者用pycharm的智能提示去导包...
2021-06-25 16:55:35 88433
原创 python使用m3u8库解析m3u8文件
pip install m3u8if __name__ == '__main__': play_list = m3u8.load('https://video.buycar5.cn/20200809/Vqdbr9lj/2000kb/hls/index.m3u8') for index, segment in enumerate(play_list.segments): ur = segment.uri print(ur)
2021-06-24 21:27:04 99091
原创 python多线程执行程序,让爬虫更快
定义线程池executor = concurrent.futures.thread.ThreadPoolExecutor(max_workers=5)从线程池中获取线程来执行方法executor.submit(start, ur, index)结束关闭线程池 executor.shutdown()使用示例:(使用线程进行多页面下载)import concurrent.futures.threadimport m3u8import requestsfrom f
2021-06-24 21:22:08 87619
原创 python创建文件夹多层路径
# 创建文件夹def createFile(file_path): if os.path.exists(file_path) is False: os.makedirs(file_path)
2021-06-24 15:18:24 88096
原创 python 字符串按行切割
str s=xxxxxs.split('\n')if __name__ == '__main__': response = requests.get("https://video.buycar5.cn/20200809/Vqdbr9lj/2000kb/hls/index.m3u8") split = response.text.split('\n') print(split)
2021-06-24 14:25:50 92045
原创 fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached
pip install -U fake-useragent
2021-06-23 23:04:57 87565
原创 scrapy使用selenium3.0
第一步:在spider类的init方法中初始化一个浏览器驱动(webdriver)第二步:在spider类的close方法中关闭浏览器驱动import osimport timeimport scrapyfrom selenium import webdriverfrom myscrapy.network_log_option import *class Selensprider(scrapy.Spider): name = 'selenspider' allow
2021-06-23 13:21:00 87627
原创 scrapy配置user-agent中间件和ip代理中间件
# 使用了fake库from fake_useragent import UserAgent# 配置headersclass RandomUserAgentMidddlware(object): # 随机更换user-agent def __init__(self, crawler): super(RandomUserAgentMidddlware, self).__init__() self.ua = UserAgent() # .
2021-06-23 11:17:36 88143
原创 selenium3.0不用代理的情况下,获取异步请求的数据
最近爬取一个网站的时候,反爬比较厉害,各种弹窗,各种验证码,无限debugger,关键数据是ajax请求异步加载的。使用代理绕过前面几种反爬后,获取ajax的request和response成了头疼的问题,最终使用selenium的network日志分析来解决。为了方便以后使用,写了一个工具类:import jsonfrom selenium import webdriverfrom selenium.webdriver import DesiredCapabilitiesdef get
2021-06-23 10:44:41 88756
原创 SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 5-6: truncated \UX
python的os.system()执行windows命令的时候报错:cd_dir = 'cd C:\Users\Lenovo\AppData\Local\Google\Chrome\Application' start_proxy = 'chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"' os.system(cd_dir) time.sleep(0.5)
2021-06-22 21:13:06 87655
原创 String的replace方法无法匹配特殊字符{}、#、¥等,解决方法
String str="abc{K}JK#,$o"str = str.replaceAll("{K}", "ZCX");//会报错无法匹配使用Hutool的StrUtil工具类可以解决这个问题。str = StrUtil.replace(str, "{K}", "sdf");
2021-06-22 17:19:21 89035
原创 selenium3.0环境搭建
单独创建一个目录,如:D:/drivers/,把不同浏览器的驱动都放到该目录。geckodriver.exe第一步:单独创建一个目录,如:D:/drivers/bin ,把不同浏览器的驱动都放到该目录。geckodriver.exe(Firefox)、chromedriver.exe(Chrome)、MicrosoftWebDriver.exe(Edge)、IEDriverServer.exe(IE)、operadriver.exe(Opera)等。然后,将D:/drivers/bin添加到系统环境.
2021-06-22 14:00:11 88394 3
原创 SpringBoot多环境配置
第一步:三个配置文件,分别是默认配置application.yaml、开发配置application-dev.yaml、生产配置application-pro.yaml第二步:SpringBoot默认加载的是application.yaml,想要默认加载其他配置文件,需要在application.yaml中配置:这样加载的就是生产环境的配置了,打包打的也是application-pro.yaml文件。本地开发的时候也是加载的pro文件。第三步:想要打包的时候用pro文件,IDE开发的时候用的
2021-06-22 11:22:48 88109
原创 xpath根据标签内容text来定位
driver.find_element_by_xpath( "//div[@class='outside']//a[contains(text(),'最近浏览')]")
2021-06-21 23:57:04 91144
原创 om.microsoft.sqlserver.jdbc.SQLServerException: 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表
当sqlserver表的主键是自增的时候,主动传入id值进行insert会报错。去掉id值即可。
2021-06-21 20:37:35 88749
原创 Mybatisplus多数据源DS失效原因
1.方法上使用了事务导致失效。2.使用了lambdaQuery()导致切换失效。@RequestMapping("/test") private Object test() { List<TUcapuser> list = tUcapuserService.list();//生效 List<TUcapuser> list001 = tUcapuserService.lambdaQuery().list();//失效 r
2021-06-21 18:53:29 93470 1
原创 SqlServer数据库当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值。
set identity_insert 表名 ON--打开insert语句...;insert语句...;...set identity_insert 表名 OFF--关闭
2021-06-21 11:45:12 91212
原创 mybatisplus多源配置报错:Failed to determine a suitable driver class
解决方式:启动类注解@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)
2021-06-21 11:34:47 90433
原创 获取月份的第一天和最后一天
第一天:localDate.with(TemporalAdjusters.firstDayOfMonth())最后一天:localDate.with(TemporalAdjusters.lastDayOfMonth())
2021-06-21 10:19:39 87670
原创 SpringBoot接收LocalDate类型数据
@ApiOperation("按月份查询日记集") @PostMapping("selectAll") public ServiceResult<Object> selectAll(@RequestParam @NotNull @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate localDate) { List<MysqlDiary> list = mysqlDiaryService...
2021-06-21 10:11:33 88494
原创 实体中时间类型LocalDateTime,查询的时候mybatis报错
解决方式:将数据库连接池设置为1.1.21版本<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.21</version> </dependency>
2021-06-21 09:47:29 87704
转载 selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘解决
https://blog.csdn.net/weixin_44318830/article/details/103339273
2021-06-20 10:30:46 87937
原创 pycharm的scrapy框架-断点调试
在文件根目录,也就是settings.py的上级目录,scrapy.cfg的同级目录,创建main.py:from scrapy.cmdline import executeimport osimport sysif __name__ == '__main__': sys.path.append(os.path.dirname(os.path.abspath(__file__))) execute(['scrapy', 'crawl', '你的spider的name'])点
2021-06-19 22:12:57 87763
原创 解决scrapy框架下数据采集遗漏问题
setting.py:# 解决爬取遗漏问题AUTOTHROTTLE_ENABLED = TrueRequest中加入参数:
2021-06-19 17:40:10 88712
原创 使用fake-useragent自动更换UserAgent
安装:pip install fake-useragent使用:from fake_useragent import UserAgentif __name__ == '__main__': agent__random = UserAgent().random print(str(agent__random))
2021-06-18 17:26:18 87569
原创 把html转成xpath可以解析的对象
from lxml import etree response_detail = requests.get(src__url, headers=getHeaderObject()).content # 使用xpath page_source = etree.HTML(response_detail.decode('utf-8'))
2021-06-18 16:56:13 88050
原创 记录:一次爬取gitee项目名称和url
items:class GiteeItem(scrapy.Item): link = scrapy.Field() desc = scrapy.Field() passdb
2021-06-18 12:01:50 87967
原创 xpath 同时具有两个属性值,使用and连接即可
'//div[@class="icon item" and @rel="next"]/@href'
2021-06-18 11:50:27 91164
原创 pymysql.err.DataError: (1366, “Incorrect string value: ‘\\xF0\\x9F\\x92\\xA1 \\xE4...‘ for column ‘d
原因是字符串中有emoji数据。解决方法:安装emojipip install emoji
2021-06-18 11:33:47 90256 1
原创 构建scrapy项目
构建项目:scrapy startproject taobao创建一个爬虫:scrapy genspider 爬虫名称 要爬取的限制域
2021-06-17 13:42:07 87438 1
scrapy(win64、py3.7).zip
2019-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人