随笔分类 - 爬虫
摘要:需求: 截屏后转PDF。 问题: selenium截屏后,图片未加载 如下图: 原因: 网站使用了懒加载技术:只有在浏览器中纵向滚动条滚动到指定的位置时,页面的元素才会被动态加载。 什么是图片懒加载? 图片懒加载是一种网页优化技术。图片作为一种网络资源,在被请求时也与普通静态资源一样,将占用网络资源
阅读全文
摘要:问题描述: 在使用img2pdf转换png到pdf时候,报了如下错误 img2pdf.AlphaChannelError: Refusing to work on images with alpha channel 解决方案: 通过一番查找,发现是pngAlpha通道的问题, 不少解决方案都是自己写
阅读全文
摘要:在做爬虫服务化时,有这样一个需求:接口用命令行启动爬虫,但是数据入库时要记录此次任务的task_id。 简单说就是,Scrapy命令行启动时要动态传参进去。 解决方案: 在spider中定义一个构造函数 def __init__(self, task_id=None, *args, **kwargs
阅读全文
摘要:问题: 如图,用hash() 筛重时竟然出现了重复。 如下图: hash字符串时,同一窗口的是一致的,不同窗口结果竟然不同。 原因: python的字符串hash算法并不是直接遍历字符串每个字符去计算hash,而是会有一个secret prefix和一个secret suffix,可以认为相当于是给
阅读全文
摘要:一、问题及解决: 在用scrapy发送post请求时,把发送方式弄错了。 本来应该是 application/x-www-form-urlencoded 弄成了application/json。 但需要改两部分:body传入字典的构造方式和header的Content-Type内容 请求截图: 代码
阅读全文
摘要:Problem: 写爬虫时,出现了以下错误: 意思是Unicode编码错误,gbk编解码器不能编码\xa0字符。 爬取信息包含中文,使用BeautifulSoup库解析网页,用get_text()方法获取标签内的文本信息。 Debug: 解析: 当我们获取这个网页的源代码的时候,是将这个网页用utf
阅读全文
摘要:1、标签中只包含文字 取包含 '卷期号' 三个字的节点 //ul[@id='side-menu']/li/a[contains(text(),"卷期号")] 取其内容 //ul[@id='side-menu']/li/a[contains(text(), '卷期号')]/text() 运行结果: 2
阅读全文
摘要:由于公司业务要求,西瓜代理已经不满足需求,准备更换新的代理IP池,所以调研测试了一下市面上的各家付费代理(免费代理可用率低故不考虑),功能限制和价格情况等如何,以便从中挑选满足要求的代理。 1、目标站 2、情报收集 整理套餐的价格和类型,API频率,每秒提取上限,每天提取上限,使用时长等信息: (p
阅读全文
摘要:解决pyspider框架web预览框过小问题 Chrome 使用pyspider框架时,web预览框只有一小条: 解决办法: 找到debug.min.css文件,替换为如下内容: 在web ui中打开一个项目调试,点到WEB页面,按Ctrl+F5 刷新测试,网页预览框已恢复正常。 亲测可用:
阅读全文
摘要:使用Pyspider中报此错误。 错误原因: 这个错误会发生在请求 https 开头的网址,SSL 验证错误,证书有误。 解决方法: 使用self.crawl(url, callback=self.index_page, validate_cert=False)
阅读全文
摘要:比如: 怎么获取bbb和ddd呢? 结果:
阅读全文
摘要:工作中,用Selenium自动化填表并获取结果时,程序一直安静的读取数据库,网页填表,获取结果,存库,但跑着跑着突然报错了。 排查后,原来不是Selenium的问题,是数据比较特殊,带了个双引号,如下 填表后提交时,触发了Chrome XSS自动过滤器 xssAuditor,导致POST请求拦截。(
阅读全文
摘要:装 识别图形验证码库tesserocr的时候,出现了Microsoft visual c++ 14.0 is required的问题,用离线安装还是没有用。 就只能乖乖装Microsoft visual c++ 14.0了,找了好多不好使,最后找到了一个: 点击打开链接
阅读全文
摘要:转义符都知道,但可能会理解不到位,或者不深入。今天在工作中,遇到了转义符的问题,记录于此,也供大伙参考。 1.问题概述 爬取到的文本段落,中间有\t \r未处理就存入数据库了(文本截取如下: '......有效性。\r次要......' ),导致后来需要刷库,而在刷库过程中, 我用的是:UPDATE
阅读全文
摘要:1.发现BUG 爬取 chinadrugtrials 详情页的公示的试验信息时候, 发现程序在某些地方跑断掉了,如下: 经排查发现,原来这是网页的bug 极少数详情页面的某些文字中的小于号,未转化为实体符,连接上后面的 ul 或者a(大写也是), 成了类似标签的东西, 导致bs4 解析时候把它当成了
阅读全文
摘要:1. 先搞清 ''(空字符串)和 NULL的区别 (1)本质区别: 空字符串是个值 NULL 和Python中的None一样,是空值的意思 (2)查询语句的区别: SELECT * FROM test_null WHERE name is NULL; SELECT * FROM test_null
阅读全文
摘要:1. SQL 注入 SQL 注入是非常常见的一种网络攻击方式,主要是通过参数来让 mysql 执行 sql 语句时进行预期之外的操作。 即:因为传入的参数改变SQL的语义,变成了其他命令,从而操作了数据库。 产生原因:SQL语句使用了动态拼接的方式。 例如,下面这段代码通过获取用户信息来校验用户权限
阅读全文
摘要:# 用traceback模块查看异常import traceback import pymysql db = pymysql.connect(host='localhost', user='root', password='root', port=3306, db='spiders') cursor = db.cursor() try: sql = 'SELECT graph,...
阅读全文
摘要:语法错误,可能有各种各样的问题。 我这个摔的太疼了。 字段名不能用空格。。
阅读全文
摘要:使用PySpider 框架出现错误 HTTP 599: SSL certificate problem: unable to get local issuer certificate,如下 原因: 因为https协议需要对证书进行验证导致,对访问https网络需要证书 解决方法: 在两个抓取函数中
阅读全文

浙公网安备 33010602011771号