feapder-document
https://boris.org.cn/feapder/#/
Description
render=True时,webdirvier中的'chromedriver'是在哪里配置路径的
render=True时,webdirvier中的'chromedriver'是在哪里配置路径的
配置文件里,https://boris.org.cn/feapder/#/usage/AirSpider?id=_12-%e6%b5%8f%e8%a7%88%e5%99%a8%e6%b8%b2%e6%9f%93%e4%b8%8b%e8%bd%bd
浏览器不支持点击么?
@Boris-code 有视频的教程吗?大神
浏览器不支持点击么?
支持
@Boris-code 有视频的教程吗?大神
还没录制
从头到位看一遍文档,感觉就是我要的爬虫,支持调度、去重、爬虫集合,能够requests抓取,能够动态渲染,能够断点续传,能够分布式处理,简直不要再好,而且学习难度貌似不高,文档写的很好,都是随着认知过程逐步加深,剩下的就是逐步实践了。 其中一直困扰我的连接补全功能,居然只是这里一个很小的功能,不错。 有几个问题,想了解下: 1、文档中写知识firefox的渲染,但代码里没有,不知道是还没完成还是什么情况,自己也还没来得及试,因为有个目标网站对chrome做了反爬,firefox可以爬到; 2、对于小型的爬取是否可以指挥sqlite,这样导入导出数据会比较方便; 3、可视化监控是个很好的功能,将来爬虫如果能做成web版的,以现在的框架感觉会非常吸引人 赞一个
从头到位看一遍文档,感觉就是我要的爬虫,支持调度、去重、爬虫集合,能够requests抓取,能够动态渲染,能够断点续传,能够分布式处理,简直不要再好,而且学习难度貌似不高,文档写的很好,都是随着认知过程逐步加深,剩下的就是逐步实践了。 其中一直困扰我的连接补全功能,居然只是这里一个很小的功能,不错。 有几个问题,想了解下: 1、文档中写知识firefox的渲染,但代码里没有,不知道是还没完成还是什么情况,自己也还没来得及试,因为有个目标网站对chrome做了反爬,firefox可以爬到; 2、对于小型的爬取是否可以指挥sqlite,这样导入导出数据会比较方便; 3、可视化监控是个很好的功能,将来爬虫如果能做成web版的,以现在的框架感觉会非常吸引人 赞一个
- driver_type
# 浏览器渲染
WEBDRIVER = dict(
pool_size=1, # 浏览器的数量
load_images=True, # 是否加载图片
user_agent=None, # 字符串 或 无参函数,返回值为user_agent
proxy=None, # xxx.xxx.xxx.xxx:xxxx 或 无参函数,返回值为代理地址
headless=False, # 是否为无头浏览器
driver_type="CHROME", # CHROME 、PHANTOMJS、FIREFOX
timeout=30, # 请求超时时间
window_size=(1024, 800), # 窗口大小
executable_path=None, # 浏览器路径,默认为默认路径
render_time=0, # 渲染时长,即打开网页等待指定时间后再获取源码
)
- https://boris.org.cn/feapder/#/source_code/pipeline
- 爬虫管理平台正在做,近期就会推出
是否支持加载js啊?
我用了一下,我爬取的数据写入excel好像不好弄,有什么办法?
这是我第二次夸这个框架了,这个框架真不错1
这是我第二次夸这个框架了,这个框架真不错1
哈哈 谢谢,第一次夸是在哪里
我用了一下,我爬取的数据写入excel好像不好弄,有什么办法?
用pipeline
是否支持加载js啊?
用浏览器渲染
@Boris-code
这是我第二次夸这个框架了,这个框架真不错1
哈哈 谢谢,第一次夸是在哪里
是跟我的小伙伴的分享的时候
@Boris-code
这是我第二次夸这个框架了,这个框架真不错1
哈哈 谢谢,第一次夸是在哪里
是跟我的小伙伴的分享的时候
6666
@Boris-code
@Boris-code
这是我第二次夸这个框架了,这个框架真不错1
哈哈 谢谢,第一次夸是在哪里
是跟我的小伙伴的分享的时候
6666
WEBDRIVER = dict( pool_size=1, # 浏览器的数量 load_images=False, # 是否加载图片 user_agent=None, # 字符串 或 无参函数,返回值为user_agent # user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36', # 字符串 或 无参函数,返回值为user_agent proxy=None, # xxx.xxx.xxx.xxx:xxxx 或 无参函数,返回值为代理地址 headless=False, # 是否为无头浏览器 driver_type="CHROME", # CHROME、PHANTOMJS、FIREFOX timeout=30, # 请求超时时间 window_size=(1024, 800), # 窗口大小 # executable_path=None, # 浏览器路径,默认为默认路径 executable_path='C:\Program Files\Google\Chrome\Application/chrome.exe', # 浏览器路径,默认为默认路径 render_time=2, # 渲染时长,即打开网页等待指定时间后再获取源码 custom_argument=["--ignore-certificate-errors"], # 自定义浏览器渲染参数
def start_requests(self):
yield feapder.Request("https://news.qq.com/", render=True)
请教一下,为什么我的浏览器启动了,但是不跳转页面
WEBDRIVER = dict( pool_size=1, # 浏览器的数量 load_images=False, # 是否加载图片 user_agent=None, # 字符串 或 无参函数,返回值为user_agent # user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36', # 字符串 或 无参函数,返回值为user_agent proxy=None, # xxx.xxx.xxx.xxx:xxxx 或 无参函数,返回值为代理地址 headless=False, # 是否为无头浏览器 driver_type="CHROME", # CHROME、PHANTOMJS、FIREFOX timeout=30, # 请求超时时间 window_size=(1024, 800), # 窗口大小 # executable_path=None, # 浏览器路径,默认为默认路径 executable_path='C:\Program Files\Google\Chrome\Application/chrome.exe', # 浏览器路径,默认为默认路径 render_time=2, # 渲染时长,即打开网页等待指定时间后再获取源码 custom_argument=["--ignore-certificate-errors"], # 自定义浏览器渲染参数
def start_requests(self): yield feapder.Request("https://news.qq.com/", render=True)请教一下,为什么我的浏览器启动了,但是不跳转页面
可能代理问题,也许你换成百度的地址就跳转了
@Boris-code
WEBDRIVER = dict( pool_size=1, # 浏览器的数量 load_images=False, # 是否加载图片 user_agent=None, # 字符串 或 无参函数,返回值为user_agent # user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36', # 字符串 或 无参函数,返回值为user_agent proxy=None, # xxx.xxx.xxx.xxx:xxxx 或 无参函数,返回值为代理地址 headless=False, # 是否为无头浏览器 driver_type="CHROME", # CHROME、PHANTOMJS、FIREFOX timeout=30, # 请求超时时间 window_size=(1024, 800), # 窗口大小 # executable_path=None, # 浏览器路径,默认为默认路径 executable_path='C:\Program Files\Google\Chrome\Application/chrome.exe', # 浏览器路径,默认为默认路径 render_time=2, # 渲染时长,即打开网页等待指定时间后再获取源码 custom_argument=["--ignore-certificate-errors"], # 自定义浏览器渲染参数
def start_requests(self): yield feapder.Request("https://news.qq.com/", render=True)请教一下,为什么我的浏览器启动了,但是不跳转页面
可能代理问题,也许你换成百度的地址就跳转了
依然没有跳转。。。你们可以排查测试一下有没有BUG,期待你们的更新!
依然没有跳转。。。你们可以排查测试一下有没有BUG,期待你们的更新!
我这没问题,测试代码
import feapder
class TestSpider(feapder.AirSpider):
def start_requests(self):
yield feapder.Request("https://news.qq.com/", render=True)
def parse(self, request, response):
pass
if __name__ == "__main__":
TestSpider().start()
你排查下是不是你的selenium环境问题
好的,多谢了
------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2021年12月15日(星期三) 下午5:53 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [Boris-code/feapder] feapder-document (#6)
依然没有跳转。。。你们可以排查测试一下有没有BUG,期待你们的更新!
我这没问题,测试代码
import feapder class TestSpider(feapder.AirSpider): def start_requests(self): yield feapder.Request("https://news.qq.com/", render=True) def parse(self, request, response): pass if name == "main": TestSpider().start()
你排查下是不是你的selenium环境问题
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
请问,用pycharm没有代码提示 是啥情况,,,
请问,用pycharm没有代码提示 是啥情况,,,
python语言是弱语言类型,有时候是给不了提示的,因为pycharm也不确定类型
bloomfiler 有bug。 ScalableBloomFilter检查filter是否已满是每30分钟一次,而它调用的BloomFilter是每次add都会检查是否已满。这会导致如果ScalableBloomFilter中检查时间不满30分钟,但是bloomFilter就已经满了的情况下,add会抛出异常。ScalableBloomFilter和BloomFilter的检查机制建议同步。 另外不是很明白为什么BloomFilter满一半时就抛出异常,如果是为了在BloomFilter未满时ScalableBloomFilter可以提前申请新的BloomFilter,应该是BloomFilter满一半时,返回已满的状态,但是不要抛出异常,异常还是应该等待BloomFilter都满的时候再抛出。否则,每次刚到一半就抛异常,一方面浪费一半空间,另一方面就会出现外层的ScalableBloomFilter显示BloomFilter没满,但是一添加新的元素就报异常。
SPIDER_SLEEP_TIME看源代码是在一批请求执行完成后才sleep的,并不能实现每个请求之间的时间间隔。不知道这是故意这样设计的吗?还是if setting.SPIDER_SLEEP_TIME:xxx逻辑不小心放到for request in requests:xxx外面去了?
SPIDER_SLEEP_TIME看源代码是在一批请求执行完成后才sleep的,并不能实现每个请求之间的时间间隔。不知道这是故意这样设计的吗?还是if setting.SPIDER_SLEEP_TIME:xxx逻辑不小心放到for request in requests:xxx外面去了?
feapder==1.7.5 修复了这个逻辑,sleep每次请求后都生效
bloomfiler 有bug。 ScalableBloomFilter检查filter是否已满是每30分钟一次,而它调用的BloomFilter是每次add都会检查是否已满。这会导致如果ScalableBloomFilter中检查时间不满30分钟,但是bloomFilter就已经满了的情况下,add会抛出异常。ScalableBloomFilter和BloomFilter的检查机制建议同步。 另外不是很明白为什么BloomFilter满一半时就抛出异常,如果是为了在BloomFilter未满时ScalableBloomFilter可以提前申请新的BloomFilter,应该是BloomFilter满一半时,返回已满的状态,但是不要抛出异常,异常还是应该等待BloomFilter都满的时候再抛出。否则,每次刚到一半就抛异常,一方面浪费一半空间,另一方面就会出现外层的ScalableBloomFilter显示BloomFilter没满,但是一添加新的元素就报异常。
感谢,feapder==1.7.6b1 已修复
为什么不把 loggru的 success 加进去呢,这样就多一种日志颜色了
请教一下 使用xpath解析数据时报错: init() got an unexpected keyword argument 'huge_tree', 使用正则可以正常提取数据,是啥原因 2022-10-07 23:30:09.340 | ERROR | logging:exception:line:1341 | init() got an unexpected keyword argument 'huge_tree' Traceback (most recent call last):